www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR UART - 9 Datenbits


Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Darum:
"Da mein Programm Paritätsfehler verursachen soll, seh ich das als
gute, wenn nicht sogar einzige Möglichkeit."

Der Hardware kann man nunmal nicht sagen, dass sie Fehler machen soll
;)

Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok ich habs... UCSZ2 existiert in UCSRB und nicht in UCSRC ...

Andenkopffass

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Daniel N. (bipak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt...
Einfach die Parität in der Hardware umstellen, wenn ich ein Fehler
haben will. Das wär echt einfacher gewesen. Manchmal ist man einfach
nur blind.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.