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

programmation en C



  1. #1
    invite48090e33

    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. #2
    invite48090e33

    Re : programmation en C

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

  3. #3
    invite52346c65

    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 !!!

  4. #4
    invite48090e33

    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.

  5. A voir en vidéo sur Futura
  6. #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.

  7. #6
    invite4c1ed2fa

    Re : programmation en C

    int main();

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

  8. #7
    invite48090e33

    Re : programmation en C

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

  9. #8
    invite4c1ed2fa

    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 ...

  10. #9
    invite48090e33

    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

  11. #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.

  12. #11
    Jack
    Modérateur

    Re : programmation en C

    on fera une exception pour toi Gérard

    A+

  13. #12
    Gérard

    Re : programmation en C

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

  14. #13
    invite6a878e16

    Re : programmation en C

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

  15. #14
    inviteb679aa6a

    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!!!

  16. #15
    invite2e627298

    Re : programmation en C

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

  17. #16
    invite48090e33

    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 inviteb595f793 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 30/09/2007, 12h44
  2. programmation
    Par invite9d765c85 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 13/08/2007, 00h12
  3. programmation en C
    Par invited2564438 dans le forum Électronique
    Réponses: 5
    Dernier message: 24/05/2007, 17h33
  4. Programmation
    Par invite91020776 dans le forum Électronique
    Réponses: 1
    Dernier message: 17/07/2006, 17h12
  5. programmation
    Par invite92c7ec27 dans le forum Électronique
    Réponses: 3
    Dernier message: 24/03/2006, 23h00
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...