Hallo,
ich suche ein funktionierendes und verifiziertes Beispiel zur
Ansteuerung der UART des Atmega48/88. Mangels eines Oszis bzw. eines
Logianalyzers weiß ich nicht, was der Atmega macht. Ein String wird als
Wirrwar im Terminal angezeigt, ein einzelnes Zeichen wird erst gar nicht
dargestellt.
Das Beispiel für gcc
1 | #include <avr/io.h>
|
2 |
|
3 | int main(void) {
|
4 |
|
5 | UCSR0B |= 1<<TXEN0;
|
6 | UCSR0C = 3<<UCSZ00; // 8n1
|
7 | UBRR0H = 0;
|
8 | UBRR0L = 47; //9600 Baud
|
9 |
|
10 | while (!(UCSR0A & (1<<UDRE0)))
|
11 | UDR0 = 'A';
|
12 | while(1);
|
13 | }
|