Fehler im Atmega644P Datenblatt?

OP #2146210
Lesenswert?
• ▲
▼
Hi,

ich versuch grade den USART0 vom Atmega644P im 9 Bit Modus zu 
initialisieren und hab wahrscheinlich mein Problem gefunden.

Im DB steht auf Seite 181 "If 9-bit characters are used (UCSZn=7)"
Ich wollte in meiner Naivität das ganze aufdröseln und UCSZ00 bis UCSZ02 
einzeln setzen.
Nicht sicher ob die alle im selben Register stehen geh ich in die 
Register Summary auf Seite 413.
Dort finde ich aber nur das Bit UCSZ02 in Register UCSR0B.
Ok schauen wir eben im Register UCSR0C -> Fehlanzeige.
und im Register UCSR0A -> Auch nix :(
Wo sind den die Bits UCSZ00 und UCSZ01 hingekommen?

Ist das tatsächlich ein Fehler im DB?

Hab dan nachher die Lösung auf den Seiten 190 und 191 gefunden.
Dort sind die einzelnen Zeilen der Register aufgeführt, aber anders als 
in der Summary.

Die vermeintlich verschwunden Bits UCSZ00 und UCSZ01 sind im Register 
UCSR0C.

Um zum Schluss noch sicher zu gehen, stimmt meine Initialisierung so:
1
// MDB USART initialisieren 9,N,1
2
void mdb_usart_init(void)
3
{
4
    // Baudrate einstellen
5
    UBRR0H = (uint8_t) (UBRR_BAUD>>8);
6
    UBRR0L = (uint8_t) (UBRR_BAUD & 0x0ff);
7

8
    // Aktivieren von Receiver & Transmitter und RX Interrupt
9
    // Setzen des UCSZ02 für den 9 Bit Modus
10
    UCSR0B = (1<<RXEN0) | (1 << RXCIE0) | (1<<TXEN0) | (1<<UCSZ02);
11

12
    // Einstellen des Datenformats: 9 Datenbits, 1 Stoppbit
13
    UCSR0C = (1<<UCSZ01)|(1<<UCSZ00);
14
}

Danke schon mal im Voraus

Elias
Gast #2146251
Lesenswert?
• ▲
▼
Hi

>Die vermeintlich verschwunden Bits UCSZ00 und UCSZ01 sind im Register
>UCSR0C.

Die Bits 1 und 2 von UCSRnC haben verschieden Bedeutungen (und 
Bezeichnungen). Als normale UART sind es:   UCSZn1 und UCSZn0

Bei UART im SPI-Mode sind es UDORDn und UCPHAn.

Also kein richtiger Fehler.

MfG Spess

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.