Bonjour, je n'arrive pas à faire fonctionner l'UART de mon micro contrôleur Atmel en réception.
En pièce jointe vous pouvez voir le schéma de câblage. Je reçois bien ce que j'envoi d'un port com à l'autre, mais le micro contrôleur ne veut rien savoir.
Voici mon programme en C:
Voici comment je procède: j'ai le RX du micro sur la voie 1 de mon oscillo et le PORTD.3 sur la voie 2.Code:#include <mega8535.h> #include <delay.h> void init() { SREG= 0b10000000; // clear global interrupt //UCSRB= 0b00001001; //tx mode UCSRB= 0b10010011; //rx mode UBRRL= 0b01100111; //speed 19200bps DDRD.0=0; DDRD.2=1; DDRD.3=1; } interrupt[12] void capture(void) // interruption du fin de réception { PORTD.3=!PORTD.3; } void main() { init(); while(1) { PORTD.2=!PORTD.2; delay_ms(10); } }
Lorsque j'écrit dans l'hyperterminal je visualise la trame mais la sortie PORTD.3 ne change pas d'état, donc rien ne se passe au niveau du micro quand il reçoit une trame sur le RX.
Merci pour votre aide.
-----