AVR UART - 9 Datenbits

OP #362689
Hi,
Ich würde gerne das 9. Datenbit als Paritätsbit benutzen.
Da mein Programm Paritätsfehler verursachen soll, seh ich das als gute,
wenn nicht sogar einzige Möglichkeit.

Die zuständigen Register sind folgendermaßen konfiguiert:

UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)|(1<<UCSZ2);

Damit sollten doch 11 Bits gesendet werden, oder nicht?
Startbit + 9 Datenbits + Stopbit

Mein ATMega8 sendet aber nur 10 Bits! Auch wenn ich TXB8 in UCSRB
setze.

Hab ich irgendwas übersehen, was noch notwendig ist, damit er mit 9
Datenbits arbeitet?
Gast #362690
Warum nimmst du nicht die Hardware Paritätserkennung?

Odd or Even Parity Generation and Parity Check Supported by Hardware

Auszug aus dem Datenblatt Seite 130.

MW
Gast #362693
Einen Parity-Error kannst Du auch einfacher haben, indem Du beim Sender
einfach die andere Parität angibst als im Empfänger.
Also z.B.
Empfänger odd und dann  Sender auf even umschalten, wenn Du einen
Fehler haben willst.

Manche UARTs haben die Möglichkeit, neben no, even und odd  auch  mark
und space als Parity zu senden, das ist dann fast gleichbedeutend mit
9-bit Übertragung, da Du den Pegel L oder H angeben kannst.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.