Programmation AtMega32
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Programmation AtMega32



  1. #1
    invite5b777b38

    Programmation AtMega32


    ------

    Bonjour,
    Je voudrai programmer mon AtMega32A PU de façon à ce qu'il fasse clignoter une led depuis son premier pin. (comme l'exemple blink de l'arduino).
    Pour cela, j'ai le programmeur usbasp (http://www.fischl.de/usbasp/) et le logiciel "programmer's notepad". J'ai trouvé un code sur internet en C pour faire clignoter la led, c'est le suivant :
    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
    	DDRB |= 1 << PINB0; 
    	while (1)
    	{
    		PORTB ^= 1 << PINB0;
    		_delay_ms(100);
    	}
    }
    J'ai changé le Makefile avec comme programmeur : usbasp, comme port : usb, et comme contrôleur: atmega32.

    En revanche je n'arrive pas à loader ce code sur l'atmega.
    Quelqu'un peut il m'aider ? C'est la première fois que je m’attaque aux microcontrôleurs (autre que arduino).
    Merci

    -----

  2. #2
    vincent66

    Re : Programmation AtMega32

    Hello
    Je ne suis pas fortiche en C, je fais une crise d'urticaire chaque foi que je vois "void" dans un programme...
    Mais de ce que je comprends du tien il n'y a pas d'alternance entre 100ms on et 100 ms off...

    En première annéee école d'ingés notre prof d'informatique nous exhortât à oublier toutes les mauvaises habitudes de la programmation en basic et je me mets à craindre que les mauvaises habitudes de l'arduino ne soient encore pires...!
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  3. #3
    invite5b777b38

    Re : Programmation AtMega32

    Le code est censé marcher (il provient d'une vidéo sur youtube, où la led clignote bien). (je précise que je n'y connait rien en c, et que ce code est peut être horrible)
    Ici mon problème n'est pas tant le code car je veux juste tester mon atmega, ce qui m'interesse vraiment, c'est le fait d'uploader le code sur l'atmega.

  4. #4
    invite2454db34

    Re : Programmation AtMega32

    Bonjour!

    Quand tu dis que tu n'arrives pas charger le code, je suppose que tu l'as quand même compilé?

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

    Re : Programmation AtMega32

    Heuuu.. A vrai dire, je ne sait pas ^^
    Je n'y connait vraiment rien en programmation, j'ai juste réussit à charger un fichier hex avec avrdude depuis l'invite de commande.
    Tu à raison, je ne l'ai sans doute pas compilé (comment faire ?)

  7. #6
    Gérard

    Re : Programmation AtMega32

    debut :
    LED = 1
    TEMPO 100ms
    LED = 0
    TEMPO 100ms
    goto debut

    Il ne te reste qu'à traduire.

  8. #7
    invite2454db34

    Re : Programmation AtMega32

    Il faut transformer ton fichier .c en .hex et pour çà il te faut le compilateur gratuit WinAVR, Tu l'installes et ton makefile va s'occuper de tout normalement.

  9. #8
    Gérard

    Re : Programmation AtMega32

    As-tu installé les drivers nécessaire pour faire fonctionner ton programmateur ?

  10. #9
    invite5b777b38

    Re : Programmation AtMega32

    J'ai déja installé WinAVR. Mais quand dans programmer's notepad je fait Make All il me donne :
    Code:
    > "make.exe" all
          0 [main] sh 6524 sync_with_child: child 96(0x158) died before initialization with status code 0xC0000142
      27088 [main] sh 6524 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
          0 [main] sh 7024 sync_with_child: child 7004(0x158) died before initialization with status code 0xC0000142
      45629 [main] sh 7024 sync_with_child: *** child state waiting for longjmp
    /usr/bin/sh: fork: Resource temporarily unavailable
    
    -------- begin --------
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    make.exe: *** No rule to make target `main.elf', needed by `elf'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:01


    Pour ce qui est des drivers, oui, tout est en place.

  11. #10
    invite2454db34

    Re : Programmation AtMega32

    Citation Envoyé par Gérard Voir le message
    As-tu installé les drivers nécessaire pour faire fonctionner ton programmateur ?
    Apparemment oui car un peu plus haut il dit avoir réussit à charger un fichier .hex dans le microcontrolleur.

  12. #11
    invite2454db34

    Re : Programmation AtMega32

    A priori ton makefile ne pointe pas sur ton fichier source, ce paramètre doit se trouver dans le makefile.
    Sinon tu peux en ligne de commande faire 'make.exe fichier.c (avec le chemin ou en te mettant directement dans le répertoire de ton fichier si le compilateur est déclaré dans ta variable d'environnement).
    Celà dit tout ceci est loin derrière moi alors!!!

  13. #12
    invite5b777b38

    Re : Programmation AtMega32

    Ah oui en effet, mon make file ne pointait pas sur mon fichier.c
    Rectifié.
    Ceci dit, quand je fait Make all, j'obtient cela :
    Code:
    > "make.exe" all
    makefile:533: *** multiple target patterns.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:00

  14. #13
    invite2454db34

    Re : Programmation AtMega32

    Essaie un simple make et pas make all.

  15. #14
    invite2454db34

    Re : Programmation AtMega32

    Une question:

    Ce makefile ne provient pas d'un autre projet?
    l'erreur mentionnée (ici: 533) indique la ligne dans le makefile.

  16. #15
    invite5b777b38

    Re : Programmation AtMega32

    Dans l'onglet Tools, il y à juste Make All, Make Clean, et Program.
    Les 3 me donnent la même erreur.

  17. #16
    invite5b777b38

    Re : Programmation AtMega32

    Voici la portion du make file qui pose problème (de la ligne 531 à 537):
    Code:
    # Create library from object files.
    .SECONDARY : $(TARGET).a
    .PRECIOUS : $(OBJ)
    %.a: $(OBJ)
    	@echo
    	@echo $(MSG_CREATING_LIBRARY) $@
    	$(AR) $@ $(OBJ)

  18. #17
    invite2454db34

    Re : Programmation AtMega32

    Bonjour ktber!

    Hier soir quand j'ai vu l'heure, j'ai tout coupé car ce matin il fallait être au taf à) 5h00.
    Je vais installé WinAVR et voir çà de mon côté mais dommage qu'il n'y ait pas une personne habituée à la programmation des Atmel pour aider.

  19. #18
    invite5b777b38

    Re : Programmation AtMega32

    salut,
    C'est super sympa de ta part de m'aider.

    Hier soir j'ai mis mon PC en veille après avoir déconnecté mon programmeur du PC. Mais ce matin en le rebranchant (j'ai revérifié les connections a l'atmega32 et les drivers, tout est OK) je n'arrive plus à avoir de réponse du microcontrolleur. Dans cmd je tape :
    Code:
    avrdude -c usbasp -p m32
    mais j'obtient :
    Code:
    avrdude: error: programm enable: target doesn't answer. 1
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.
    alors que hier cela marchait très bien et j'arrivais à obtenir la signature de l'atmega. (les connections n'ont pas bougées depuis hier)

  20. #19
    invite2454db34

    Re : Programmation AtMega32

    Bon, après de nombreux essais j'ai les mêmes messages d'erreur avec l'éditeur livré avec WinAVR.
    J'ai donc cherché un ide et du premier coup j'ai compilé ton code (après création d'un projet), en plus cet IDE est léger et très convivial à mon gout..
    Voici le lien de téléchargement: http://code.google.com/p/avr-project-ide/

    Pour ton problème avec avrdude, peut-être qu'un redémarrage du PC est nécessaire.

  21. #20
    invite5b777b38

    Re : Programmation AtMega32

    Super, merci beaucoup ! Ça marche à merveille pour ce qui est de la compilation maintenant.
    En revanche le redémarrage du PC n'a pas suffit...

  22. #21
    invite2454db34

    Re : Programmation AtMega32

    Je ne connais pas bien les Atmega mais apparemment il faut faire très attention aux "fuses" lors d'une programmation car il peut devenir inutilisable après une mauvaise manipulation.
    J'en ai programmé qu'un seul (Atmega328PU) mais sans succès avec AVRDUDE et j'avais donc monté un programmateur très simple sur port parallèle avec le logiciel Ponyprog et là lecture, plusieurs reprogrammations vraiment aisées.

  23. #22
    invite2454db34

    Re : Programmation AtMega32

    Pour AVRDUDE, passe par une interface car la ligne de commande c'est pas top.
    Pour çà tu as AVRDUDESS (entre autres) est est très bien :
    https://blog.adafruit.com/2013/02/19...i-for-avrdude/

  24. #23
    invite2454db34

    Re : Programmation AtMega32

    RE!!!

    Pour UBASP essaie ce logiciel de programmation autonome (me semble t'il) qui parait il est excellent.
    http://extremeelectronics.co.in/avr-...r-programmers/

  25. #24
    invite5b777b38

    Re : Programmation AtMega32

    Ok je vais essayer tout ça.
    Mais si avrdude dans l'invite de commandes ne reconnait pas mon atmega, il y à peux de changes que ces logiciels le reconnaissent non?

    J'ai peut être cramé l'atmega tout simplement mais je ne voit pas comment... Hier ça marchait, j'ai tout laissé en plan niveau connections et j'ai rebranché l'usb ce matin. Et ça ne marche plus. Je ne comprends pas...

  26. #25
    invite5b777b38

    Re : Programmation AtMega32

    Je vient de me rappeler... Il me semble pas avoir re-testé la commande "avrdude -c usbasp -p m32" après avoir réussit à charger un fichier hex... Est il possible que ce fichier ait changé quelque-chose qui fait que je ne puisse plus programmer l'atmega ?

  27. #26
    invite5b777b38

    Re : Programmation AtMega32

    PROBLEME RESOLU !
    J'ai tout simplement connecté un cristal de 16Mhz à l'atmega et ça fonctionne.
    Merci beaucoup de votre aide!

Discussions similaires

  1. [ATMEGA32] ADC aref=2.56V
    Par invitef75f7d4f dans le forum Électronique
    Réponses: 6
    Dernier message: 24/04/2012, 14h36
  2. Programmation d'un ATMEGA32
    Par Noxa dans le forum Électronique
    Réponses: 2
    Dernier message: 17/02/2011, 07h34
  3. ATmega32 HS ?
    Par invite14944041 dans le forum Électronique
    Réponses: 0
    Dernier message: 18/07/2007, 08h01
  4. Besoin d'aide programmation ATmega32
    Par invite14944041 dans le forum Électronique
    Réponses: 1
    Dernier message: 12/07/2007, 10h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...