UCSRnC = (1<<USBS)|(3<<UCSZ0);

OP #1862802
Lesenswert?
• ▲
▼
Hallo Forum,

die Zeile:

UCSR0C = (1<<USBS0)|(3<<UCSZ00);

bedeutet doch folgendes:
(1<<USBS) // es werden zwei Stop-Bits verwendet

(3<<UCSZ00) // sollte identisch sein mit ((1<<UCSZ00) | (1<<UCSZ10)), um 
8 Bits zu senden

Wenn man nun (3<<UCSZ0) schreibt, setzt das Programm dann automatisch 
beginnend bei UCSZ00 eine 1 und bei dem nächstfolgenden Bit des 
Registers UCSR0C (hier laut Datenblatt UCSZ01) ebenfalls eine 1. oder 
ist dies nur eine kurzschreibweise für die Anleitung des Datenblattes?

Im konkreten Fall besitzt das Register UCSR0C folgenden Aufbau:
UMSEL01 UMSEL00 UPM01 UPM00 USBS0 UCSZ01 UCSZ00 UCPOL0

möchte ich also USB00, UCSZ01 und UCSZ00 auf 1 setzen, könnte ich dann 
auch einfach schreiben:

UCSR0C=(5<<UCSZ0)

???
mfg
OP #1863238
Lesenswert?
• ▲
▼
...also irgendwie stehen eure beiden Antworten leicht im Gegensatz 
zueinander.

Die UCSR0C |= (7<<UCSZ0) wäre nötig, weil das Bit 0 nicht UCSZ0 ist, 
sondern UCPOL0, richtig?

Dann verstehe ich aber nicht, warum das Codebeispiel des Datenblattes 
das Beipiel mit (3<<UCSZ00) verwendet, weil dort gilt der selbe 
Registeraufbau, auch dort beginnt das Register mit UCPOL0 als 0-tem 
Bit...

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.