Hallo,
mir ist gerade bei der Programmierung der UART Schnittstelle etwas
seltsames aufgefallen. Und zwar soll es sich um eine 8-Bit Übertragung
handeln, also:
1 | UCSRC |= ((1<<URSEL) | (1<<UCSZ1)| (1<<UCSZ0)); // Übertragung 8 Bit
|
Nun kann man sich ja laut Datenblatt diese Zeile sparen, da als
Initialwerte bzw. Defaultwerte das Bit UCSZ1 und UCSZ2 = 1 sind.
Aber hier liegt das Problem... wenn ich diese Werte nicht "per Hand"
vorgebe dann kommt bei der Übertragung nur misst raus.
Wie kann das sein ? Schließlich funktionieren die anderen Defaultwerte
wie zb. das Standartmäßig 1 Stopbit benutzt wird doch auch.
Ist das ein Bug im AVR ? Oder hängt es mit dem Compiler zusammen
(WINAVR) dass der sein eigenes Ding macht wenn ich nix vorgebe ?