utiliser un pointeur (langage C) dans un PIC "expecting an identifier"
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

utiliser un pointeur (langage C) dans un PIC "expecting an identifier"



  1. #1
    invitebdf64909

    utiliser un pointeur (langage C) dans un PIC "expecting an identifier"


    ------

    Bonjouur,
    je suis assez nouveau en electronique et je pretend fer un petit programme qui m'allume des led's etc... un truc tout bête.
    en fait j'ai une variable chiffre (que je modifie moi même dans le code source C avant de le simuler sur proteus pour voir si le programme se comporte convenablement) .
    Ce chiffre est un int dans la fonction main, et je le pointe avec int* pointeurchiffre, apres j'envoi ce pointeur dans une autre fonction qui regarde s'il est paire ou pas et puis s'il est paire j'allume un led, sinon une autre.

    enfin bref, le souci est simple:
    CCs buge quand je declare le pointeur:
    Code:
    int chiffre=4;                         
        int* poineurchiffre = &chiffre;
    etl CCs me dit :
    ***Error 28 "main.c" Line30(15,24): Expecting an identifier

    (sur CodeBlocks, ya pas de souci de compilation, et il amrche tres bine le programme executée en console (là je veux l'adapter a un pic))

    je ne vois pas du tout où est l'erreur.... quelqu'un peut m'aider??

    merciii

    -----

  2. #2
    RISC

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Salut,

    Ne serait-ce pas tout simplement une faute de frappe
    tu as écris poineurchiffre au lieu de pointeurchiffre

    a+

  3. #3
    Jack
    Modérateur

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    En tout cas les 2 lignes présentées sont syntaxiquement exactes. Il faudrait en voir plus, avec la numérotation des lignes si possible.

    A+

  4. #4
    invitebdf64909

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Citation Envoyé par RISC Voir le message
    Salut,

    Ne serait-ce pas tout simplement une faute de frappe
    tu as écris poineurchiffre au lieu de pointeurchiffre

    a+
    non, parceque de toute façon ça devrait marcher je pense, malgré l'erreur de langue lol

    Citation Envoyé par Jack Voir le message
    En tout cas les 2 lignes présentées sont syntaxiquement exactes. Il faudrait en voir plus, avec la numérotation des lignes si possible.

    A+
    euh, je veux bien, mais ça ne servira a rien: j'ai comenté tout le programme (tout, tout... ça reste un programme a une ligne, lol: int* pointeurchiffre = &chiffre;) avec /* puis */ SAUF cette ligne et il me donne la même erreur.

    le programme etant donc:
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    }


    et l'erruer persiste...

    merci beaucoup!

  5. A voir en vidéo sur Futura
  6. #5
    invite5637435c

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    normal.

    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    }
    Soit vous écrivez
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    return(*pointeurchiffre);
    }
    soit encore

    void main()
    {
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    }

  7. #6
    Jack
    Modérateur

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Si c'est bien ce code que tu compiles, j'en déduis que CCS est un compilo m...dique.

    A+

  8. #7
    sdec25

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Bonsoir,
    Est-ce que les codes suivants fonctionnent ?
    Code:
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = 0;
    }
    Code:
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre;
    pointeurchiffre=&chiffre;
    }
    Je ne vois que 2 causes possibles : Soit le compilateur considère "chiffre=0" comme une instruction et le langage C n'autorise pas la déclaration de variable dans un bloc après des instructions (juste au début du bloc c'est-à-dire après une accolade ouvrante).
    Soit le symbole chiffre n'est pas encore connu (ce qui n'est pas normal).
    Dans les 2 cas il n'y a rien à faire.

  9. #8
    invite5637435c

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Oui CCS est assez curieux, pas mal de liberté et au final le code est à chier.

    En même temps:

    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    }

    je vois pas bien l'intérêt....

  10. #9
    invite5637435c

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Je ne vois que 2 causes possibles : Soit le compilateur considère "chiffre=0" comme une instruction et le langage C n'autorise pas la déclaration de variable dans un bloc après des instructions (juste au début du bloc c'est-à-dire après une accolade ouvrante).
    Soit le symbole chiffre n'est pas encore connu (ce qui n'est pas normal).
    Dans les 2 cas il n'y a rien à faire.
    La fonction doit retourner un entier donc elle attend un entier par un return(x) x étant un entier... qui ne vient jamais.

  11. #10
    sdec25

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Citation Envoyé par HULK28 Voir le message
    La fonction doit retourner un entier donc elle attend un entier par un return(x) x étant un entier... qui ne vient jamais.
    Oui c'est juste, mais l'erreur due à une absence de return serait plutôt du genre "return absent dans fonction non void". L'erreur "expecting an identifier" me fait plutôt penser à un mot non reconnu (chiffre) ou qui ne devrait pas être là (le int de la 2ème déclaration).
    Enfin, je peux toujours faire des suppositions, le plus simple serait d'essayer de compiler.

  12. #11
    Jack
    Modérateur

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Bien que ça ne soit pas logique, je tenterais néanmoins de remplacer
    Code:
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    par
    Code:
    int chiffre;
    int* pointeurchiffre;
    chiffre=0;
    pointeurchiffre = &chiffre;
    peut-être le compilateur a-t-il des problèmes avec les initialisations.

    A+

    edit: c'est ce que proposait sdec25 en fait. J'avais loupé sa proposition.
    Dernière modification par Jack ; 11/02/2011 à 08h27.

  13. #12
    invitebdf64909

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Citation Envoyé par sdec25 Voir le message
    Bonsoir,
    Est-ce que les codes suivants fonctionnent ?
    Code:
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre = 0;
    }
    Code:
    int main ()
    {
    int chiffre=0;
    int* pointeurchiffre;
    pointeurchiffre=&chiffre;
    }
    Je ne vois que 2 causes possibles : Soit le compilateur considère "chiffre=0" comme une instruction et le langage C n'autorise pas la déclaration de variable dans un bloc après des instructions (juste au début du bloc c'est-à-dire après une accolade ouvrante).
    Soit le symbole chiffre n'est pas encore connu (ce qui n'est pas normal).
    Dans les 2 cas il n'y a rien à faire.
    Citation Envoyé par Jack Voir le message
    Bien que ça ne soit pas logique, je tenterais néanmoins de remplacer
    Code:
    int chiffre=0;
    int* pointeurchiffre = &chiffre;
    par
    Code:
    int chiffre;
    int* pointeurchiffre;
    chiffre=0;
    pointeurchiffre = &chiffre;
    peut-être le compilateur a-t-il des problèmes avec les initialisations.

    A+

    edit: c'est ce que proposait sdec25 en fait. J'avais loupé sa proposition.

    effectivement, vous aviez tous les 2 raison:
    il fallait declarer et affecter separement

    vu ceci... CCS me deçoit. Pouvez vous me conseiller un autre compilateur, gratuit si possible??
    et si oui, vous pouriez m'expliquer pour ce compilateur là comment fonctionent le choses types "output_high", "input" "set_tris" que j'utilisai en CCs??

    mercii beaucoup, franchement

  14. #13
    Jack
    Modérateur

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    et si oui, vous pouriez m'expliquer pour ce compilateur là comment fonctionent le choses types "output_high", "input" "set_tris" que j'utilisai en CCs??
    On peut faire ce que l'on veut si on maitrise bien les bit fields, les unions et les macro du préprocesseur en C.

    Le problème, c'est que je connais très mal le hardware des pics.

    A+

  15. #14
    invite5637435c

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Oriente toi vers MikroC gratuit pour 2ko de prog et très bien documenté ou la version lite de HitechC très bien aussi.

    Cela dit je ne vois toujours pas l'intérêt d'avoir déclarer int main().

  16. #15
    Jack
    Modérateur

    Re : utiliser un pointeur (langage C) dans un PIC "expecting an identifier"

    Cela dit je ne vois toujours pas l'intérêt d'avoir déclarer int main()
    C'est la norme.

    A+

Discussions similaires

  1. vhdl corrigé de l'erreur "unexpected PORT, expecting SEMICOLON"
    Par invite4e7f6658 dans le forum Électronique
    Réponses: 5
    Dernier message: 04/11/2012, 17h21
  2. "String to float" dans un PIC : erreur
    Par invite7a536414 dans le forum Électronique
    Réponses: 6
    Dernier message: 15/11/2009, 13h07
  3. Réponses: 14
    Dernier message: 29/10/2009, 14h24
  4. Dit t'on qu'une Fusée "Vole" ou "Flotte" dans l'espace ?
    Par invitefd223ee7 dans le forum Astronautique
    Réponses: 12
    Dernier message: 11/09/2009, 14h04
  5. Une "couleur", "race" unique dans 50 000 ans?
    Par invite287f4e7c dans le forum Biologie
    Réponses: 1
    Dernier message: 13/12/2006, 11h26
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...