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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.