UART INIT Problem bei Mega128

Gast #238711
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.
Angehängte Dateien:
Gast #238712
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren