Forum: Compiler & IDEs UART INIT Problem bei Mega128


von Stefan Helwig (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe ein Problem bei der Initialisierung des USART1 eines ATMEGA
128. Ich benutze die folgenden vier Zeilen in der
Initialisierungroutine

UBRR1H = 0x00;
UBRR1L = 0x1F;
UCSR1B = 0x18;
UCSR1C = 0x06;

Wenn ich mit WINAVR den Code übersetzte und mir dann das Ergebnis im
AVR-STudio (Simulator Mode) ansehe, passiert etwas sehr merkwürdiges.
UBRR1H, UBRR1L und UCSR1B werden so gesetzt wie ich es eingetragen
habe.
Wenn die Zeile UCSR1C = 0x06; ausgeführt wird zeigt der Simulator keine
Veränderung bei UCSR1C an. Dafür wird aber der Wert in UBRR1H geändert
und zwar genau auf den Wert den ich für UCSR1C angegeben habe. Kann mir
das jemand erklären.

Gruß
Stefan

Das die Baudrate sehr ungewöhnlich ist weiß ich.

von Feadi (Gast)


Lesenswert?

Im Datenblatt (doc2467.pdf) auf Seite 170 steht:

Note that in ATmega103 compatibility
mode, USART1 is not available, neither is the UBRR0H or UCRS0C
Registers. This
means that in ATmega103 compatibility mode, the ATmega128 supports
asynchronous
operation of USART0 only.



Feadi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.