IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Probleme de programmation


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut Probleme de programmation
    Bonjour, je suis actuellement en stage, et j'ai un probleme que je n'arrive pas a resoudre...:
    Je dois envoyer des donnees dans des buffers qui correspondent aux trois couleurs primaires, un traitement hardware vient ensuite tranformer ces trois couleurs en gris... mes fichiers .C et .H sont les suivants:
    .C:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include "xparameters.h"
    #include "rgb2gray_sm_0.h"
    #include "unistd.h"
     
    int main (void) {
      int i;
      int gray, red, green, blue;
      unsigned int RGB2GRAY_SM_0_RED,RGB2GRAY_SM_0_RED_DIN,RGB2GRAY_SM_0_GREEN,RGB2GRAY_SM_0_GREEN_DIN,RGB2GRAY_SM_0_BLUE,RGB2GRAY_SM_0_BLUE_DIN,RGB2GRAY_SM_0_RESULT, RGB2GRAY_SM_0_RESULT_DOUT;
     
     
      print("-- Entering main() --\n\r");
      for (i=15;i<30;i++){	
        red = i;
        green = i+10;
        blue = i+20;
     
        // Write RGB value to peripheral
    	 rgb2gray_sm_0_Write(RGB2GRAY_SM_0_RED, 
                            RGB2GRAY_SM_0_RED_DIN, red);
    	 rgb2gray_sm_0_Write(RGB2GRAY_SM_0_GREEN, 
                            RGB2GRAY_SM_0_GREEN_DIN, green);
    	 rgb2gray_sm_0_Write(RGB2GRAY_SM_0_BLUE, 
                            RGB2GRAY_SM_0_BLUE_DIN, blue);
     
    	 xil_printf("R = 0x%x, G = 0x%x, B = 0x%x -- ",
                   red, green, blue);
     
    	 rgb2gray_sm_0_Read(RGB2GRAY_SM_0_RESULT,
                           RGB2GRAY_SM_0_RESULT_DOUT, &gray);
     
    	 xil_printf("Gray = %x \n\r",gray);
      } 
     
      print("-- Exiting main() --\n\r");
      return 0;
    }


    .H:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #ifndef rgb2gray_sm_0_H
    #define rgb2gray_sm_0_H
     
    class rgb2gray_sm_0 {
    public:
    	int rgb2gray_sm_0_Write(unsigned int memName,unsigned int addr,unsigned int val);
    	int rgb2gray_sm_0_Read(unsigned int memName,unsigned int addr, unsigned int* val);
    private:
     
    }
     
    #endif


    et le message d'erreur... est:

    In file included from /cygdrive/c/Armin/rgb2gray/rgb2gray_sm_0.c:11:
    /cygdrive/c/Armin/rgb2gray/rgb2gray_sm_0.h:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rgb2gray_sm_0'
    In file included from /cygdrive/c/Armin/rgb2gray/rgb2gray_sm_0.c:11:
    /cygdrive/c/Armin/rgb2gray/rgb2gray_sm_0.h:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rgb2gray_sm_0'
    In file included from /cygdrive/c/Armin/rgb2gray/rgb2gray.c:2:
    /cygdrive/c/Armin/rgb2gray/rgb2gray_sm_0.h:5: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'rgb2gray_sm_0'
    Si vous avez une idee... je suis preneur!
    Merci d'avance!
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Pense à mettre le code dans les balises code

    Citation Envoyé par flo87 Voir le message
    .H:

    #ifndef rgb2gray_sm_0_H
    #define rgb2gray_sm_0_H

    class rgb2gray_sm_0 {
    public:
    int rgb2gray_sm_0_Write(unsigned int memName,unsigned int addr,unsigned int val);
    int rgb2gray_sm_0_Read(unsigned int memName,unsigned int addr, unsigned int* val);
    private:

    };

    #endif
    Il manque un points virgule après l'accolade fermante de ta classe
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut Toujours le meme probleme...
    J'ai ajoute le point virgule, mais j'ai toujours le meme message d'erreur...
    je n'ai pas compris ce que voulait dire mettre le code dans les balises... cela vient-il de la?

  4. #4
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2008
    Messages : 413
    Par défaut
    je n'ai pas compris ce que voulait dire mettre le code dans les balises... cela vient-il de la?
    c'est mignon..... il voulait dire, mettre des balises code DANS TON POST, comme les balises 'citation'

    Ca donne ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    là tu mets ton code....

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut Solution
    Merci beaucoup pour vos reponse... le probleme ne venait pas du code... je travaille sur des systeme embarques et je n'avais pas entre le bon executable pour appeler un processeur...
    Encore merci!

  6. #6
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    Pense à mettre le code dans les balises code
    Il manque un points virgule après l'accolade fermante de ta classe
    Citation Envoyé par flo87 Voir le message
    J'ai ajoute le point virgule, mais j'ai toujours le meme message d'erreur...
    je n'ai pas compris ce que voulait dire mettre le code dans les balises... cela vient-il de la?
    [mode Oudini = "on"]
    C'est parce qu'il manque aussi le ; après l'accolade fermante de ta classe xparameters.
    [mode Oudini = "off"]

    [Edit]
    Zut, trop tard.
    Tant pis,bonne chance.
    [/Edit]

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut en effet...
    En effet, je me suis trompe... ca ne fomctionne toujours pas, mais je ne vois pas ou manque le ; ...

  8. #8
    Membre chevronné
    Inscrit en
    Novembre 2006
    Messages
    362
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 362
    Par défaut
    Citation Envoyé par Feriaman Voir le message
    après l'accolade fermante de ta classe xparameters.
    En réalité, je n'en sais rien, car, comme tu as pu le remarquer : tu ne nous a pas donné ton fichier xparameter.h

    Cela dit, il ne me semble pas impossible que ce soit là que tu trouveras ton erreur de syntaxe.

  9. #9
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut xparameters.h
    Voici le fichier, je ne pense pas qu'il contienne une erreur car il a deja ete compile avec d'autres applications...
    Fichiers attachés Fichiers attachés

  10. #10
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut essai
    je viens d'essayer de compiler avec le fichier suivant:

    #include "unistd.h"

    int main (void) {
    int i;
    int gray, red, green, blue;
    unsigned int RGB2GRAY_SM_0_RED,RGB2GRAY_SM_0_RED_DIN,RGB2GRAY_SM_0_GREEN,RGB2GRAY_SM_0_GREEN_DIN,RGB2GRAY_SM_0_BLUE,RGB2GRAY_SM_0_BLUE_DIN,RGB2GRAY_SM_0_RESULT, RGB2GRAY_SM_0_RESULT_DOUT;



    print("-- Entering main() --\n\r");
    for (i=15;i<30;i++){
    red = i;
    green = i+10;
    blue = i+20;

    // Write RGB value to peripheral
    int rgb2gray_sm_0_Write(unsigned int RGB2GRAY_SM_0_RED,
    unsigned int RGB2GRAY_SM_0_RED_DIN,unsigned int red);
    int rgb2gray_sm_0_Write(unsigned int RGB2GRAY_SM_0_GREEN,
    unsigned int RGB2GRAY_SM_0_GREEN_DIN, unsigned int green);
    int rgb2gray_sm_0_Write(unsigned int RGB2GRAY_SM_0_BLUE,
    unsigned int RGB2GRAY_SM_0_BLUE_DIN,unsigned int blue);

    xil_printf("R = 0x%x, G = 0x%x, B = 0x%x -- ",
    red, green, blue);

    int rgb2gray_sm_0_Read(unsigned int RGB2GRAY_SM_0_RESULT,
    unsigned int RGB2GRAY_SM_0_RESULT_DOUT, unsigned int *&gray);

    xil_printf("Gray = %x \n\r",gray);
    }

    print("-- Exiting main() --\n\r");
    return 0;
    }


    et voila le message d'erreur... je ne comprends pas du tout ce qui se passe (je ne suis pas du tout programmeur...):

    /cygdrive/c/Armin/rgb2gray/rgb2gray.c: In function 'main':
    /cygdrive/c/Armin/rgb2gray/rgb2gray.c:29: error: expected ';', ',' or ')' before '&' token
    make: *** [rgb2gray/executable.elf] Error 1
    Done!

    Quelqu'un a t-il une idee?
    Merci beaucoup!

  11. #11
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    1/ Penser à la balise code pour poster du code
    2/ Penser à soigner l'indentation du code, sinon, c'est illisible
    3/ Il y a des (4) prototypes de fonction en plein milieu du code, c'est pas interdit mais cela n'aide pas en comprendre. Les prototypes, c'est dans un .h que l'on inclue ou alors à la limite en debut de fichier source.
    4/ la syntaxe du dernier prototype est incorrecte et c'est elle qui fout le bazar
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int rgb2gray_sm_0_Read(unsigned int RGB2GRAY_SM_0_RESULT,
    	unsigned int RGB2GRAY_SM_0_RESULT_DOUT, unsigned int *&gray);
    Il faut supprimer le caractère & dans "unsigned int *&gray"
    5/ je n'ai pas les prototypes des fonction print() et xil_printf()
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  12. #12
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 8
    Par défaut
    Merci beaucoup!!
    Tout marche, a l'avenir, j'essaierai de programmer proprement... desole, ce n'est pas du tout ma formation...

  13. #13
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    En même temps... un fichier .C qui inclut une classe.... dangereux... dangereux...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème execution programme SDL
    Par youp_db dans le forum SDL
    Réponses: 2
    Dernier message: 11/02/2006, 18h06
  2. Probleme execution programme
    Par jmjmjm dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/11/2005, 19h32
  3. Réponses: 2
    Dernier message: 31/05/2005, 09h50
  4. [TP]Problème de programme exécutable en mode graphique
    Par GoodVibe dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 24/09/2004, 09h47
  5. [Kylix] probleme execution programme
    Par vin's dans le forum EDI
    Réponses: 1
    Dernier message: 31/03/2004, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo