Ich versuche gerade UART zu initialisieren um anschließend Zeichen zu senden. Leider erhalte ich am PC im GtkTerm nichts.
Der Code schaut momentan so aus:
Also eingestellt ist eine Baudrate von 9600 und der Modus 8N1. Dasselbe ist auch im GtkTerm eingestellt, ich habe auch alle ttyS-Ports aufprobiert. Müssen am Board auch irgendwelche Switches aktiviert werden? Wo kann der Fehler liegen?Code:#define F_CPU (16000000UL) #define BAUD (9600UL) #define UBRR_VAL (F_CPU / (16 * BAUD)-1) #include <avr/io.h> void uart_init(void) { UBRR0H = UBRR_VAL >> 8; UBRR0L = UBRR_VAL; UCSR0B |= (1<<TXEN0)|(1<<RXEN0); UCSR0C |= (1<<UCSZ01) | (1<<UCSZ01); } int main(void) { uart_init(); while(1) { while ( !( UCSR0A & (1<<UDRE0)) ); UDR0 = 'a'; } return 0; }
Danke im voraus!



Reply With Quote




Bookmarks