Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

programmation en C



  1. #1
    esboy

    programmation en C


    ------

    Bonjour,
    je suis totalement débutant en C, alors je suis en train de commencer à apprendre sur avec un kit stk500 et stk520, pour un AT90PWM3.

    Je fais de tout petits programmes pour commencer, et me confronter aux premières erreurs. Voici un programme que j'ai écrit :
    Code:
    //test clignotement
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    void main(void)
    {
    	DDRC=0xFF;
    	PORTC = 0b00110011;
    	while(1)
    		{
    		PORTC=~PORTC;
    		delay_ms(500)
    		}
    }
    et lorsque que j'essaie de le compiler avec WinAVR voici les erreurs qu'il trouve et que je n'arrive pas à coriger :

    main.c:7: warning: return type of 'main' is not `int'
    main.c: In function `main':
    main.c:13: warning: implicit declaration of function `delay_ms'
    main.c:14: error: syntax error before '}' token
    make.exe: *** [main.o] Error 1
    Quelqu'un pourrait-il m'aider ?

    merci d'avance.

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    esboy

    Re : programmation en C

    je viens de trouver l'erreur ligne 14 : il manquait le ";". Mais il reste les autres erreurs...

  5. #3
    perchman

    Re : programmation en C

    après "delay_ms(500)", il y a ';'.
    d'ou l'erreur main.c:14: error: syntax error before '}' token


    pour main.c:13:je pense que tu devrais charger une autre bibliotheque (je sais pas laquelle)!

    pour le reste je peux pas trop te renseigner !!!
    Dernière modification par perchman ; 11/04/2006 à 21h59.

  6. #4
    esboy

    Re : programmation en C

    Bonsoir,

    merci de m'avoir répondu.
    J'ai pu trouver de l'aide et résoudre mon problème. En fait, c'est la bonne librairie, mais il manque un "_" devant delay_ms. C'est tout.

    J'ai pu compiler le programme et le flasher, il fonctionne.
    mais il reste l'erreur :
    main.c:7: warning: return type of 'main' is not `int'
    que je ne comprend pas.

  7. A voir en vidéo sur Futura
  8. #5
    Gérard

    Re : programmation en C

    Ce ne serait pas
    main () tout simplement ?
    c'est une idée, mes connaissances en C sont ridicules.
    Gérard.

  9. #6
    Mendoza

    Re : programmation en C

    int main();

    maintenant, la fonction main doit retourner un entier...

  10. Publicité
  11. #7
    esboy

    Re : programmation en C

    oui, mais je n'ai pas mis int main(), mais void main(void)...

  12. #8
    Mendoza

    Re : programmation en C

    oui, ben justement !!

    ton compilateur semble attendre un entier de la fonction main ...

    et si tu mets int main(); ca donne quoi ?


    m'enfin, ce n'est qu'un warning ...

  13. #9
    esboy

    Re : programmation en C

    effectivement, cette erreur ne m'empêche pas de compiler, et le programme fonctionne. Mais c'est juste pour comprendre.

    en mettant int main(), je n'ai plus l'erreur, mais j'en ai une nouvelle :
    function declaration isn't a prototype

  14. #10
    Gérard

    Re : programmation en C

    Trop compliqué pour moi le C, je préfère le Basic.
    Prière de ne pas me bannir du forum pour ce post, merci !
    Gérard.

  15. #11
    Jack
    Modérateur

    Re : programmation en C

    on fera une exception pour toi Gérard

    A+

  16. #12
    Gérard

    Re : programmation en C

    OUUUUUUFFFFFFFF !
    Je suis rassuré, merci mille fois.
    Gérard.

  17. Publicité
  18. #13
    Agahaz

    Re : programmation en C

    Essai de mettre un return 0; à la fin pour voir (enfin c'est qui te manquerait sur un PC)

  19. #14
    minouche

    Re : programmation en C

    salut,
    en fonction du compilo le text doit certainement changer un peu, je programme sur PIC et en formation on m'a apris ta maniere "void main(void)" ce qui fait que ta fonction n'a pas besoin de valeur reçue et n'en retourne pas, mais je l'ecris "main()" simplement sans me compliquer la vie et je n'ai aucun prob peut etre que ton compilo ne se complique pas la vie non plus!!!

  20. #15
    Sebxoii

    Re : programmation en C

    "int main(void)" au début et un petit "return 0;" avant la dernière accolade fermante ?

  21. #16
    esboy

    Re : programmation en C

    effectvement, sebxoii, je n'ai plus d'erreur de compilation comme ça.
    Je le flasherai dès que j'aurai récupéré le kit de développement, pour voir si ça marche sur le micro contrôleur.
    merci de votre aide.

Discussions similaires

  1. programmation
    Par rafamu dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 30/09/2007, 13h44
  2. programmation
    Par lyre dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 13/08/2007, 01h12
  3. programmation en C
    Par choumi86 dans le forum Électronique
    Réponses: 5
    Dernier message: 24/05/2007, 18h33
  4. Programmation
    Par brunocooper dans le forum Électronique
    Réponses: 1
    Dernier message: 17/07/2006, 18h12
  5. programmation
    Par medkh-123 dans le forum Électronique
    Réponses: 3
    Dernier message: 25/03/2006, 00h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.