Hello,J'ai enfin trouvé la raison du "reset" de l'atmega ! Je mets reset entre guillemet, parce que c'est pas vraiment un reset : le programme sautait à l'adresse 0x00. C'est lié à l'avr-libc qui lorsque elle recoit une interruption pour laquelle elle n'a pas de gestionnaire appelle la fonction _vector_default() qui fait un JUMP 0x00. Or sur l'Atmega168 n'a pas un UART mais un USART. le handler correct s'appelle donc SIG_USART_RECV et pas SIG_UART_RECV. J'ai fait un test et ça marche nickel. Par contre je connais pas assez bien Aversive et les Atmel pour savoir comment faire un patch propre. Une idée ? J'ai vu qu'il y avait une macro UART_IS_USART. je vais creuser de ce côté là.
A+ Antoine Le 30 mai 2009 23:17, Olivier MATZ <z...@droids-corp.org> a écrit : > J'ai pas vraiment trop d'idée non plus. Peut-être que tu peux >> essayer de remplacer la ligne par: >> UCSRB |= (1 << UDRIE); >> > > Je voulais dire UCSR0B et pas UCSRB. Evidemment ça ne marche > que pour l'uart 0. > > > > _______________________________________________ > Avr-list mailing list > Avr-list@droids-corp.org > CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive > WIKI : http://wiki.droids-corp.org/index.php/Aversive > DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/ > BUGZILLA : http://bugzilla.droids-corp.org > COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog >
_______________________________________________ Avr-list mailing list Avr-list@droids-corp.org CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive WIKI : http://wiki.droids-corp.org/index.php/Aversive DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/ BUGZILLA : http://bugzilla.droids-corp.org COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog