Da ich in der Parametrierung des UART oder im Programm keinen Fehler entdecken kann, tippe ich mal auf ein Problem mit den internen 1MHz und der Bauddrate. Wenn das nicht genau passt, wirkt es sich beim letzen Bit (Bit7) zuerst aus, es würde dann das Stopbit als Datenbit interpretiert. Testweise kannst du mal die Baudrate senken, auf 1200 vielleicht.[Edit]Das ist Unsinn, der Fehler wäre prozentual bei allen Baudraten gleich[/Edit] Oder mal Parity einschalten, dann müßte ein Unterschied zwischen geraden und ungeraden Zeichen sein.
Wenn das die Ursache wäre, könnte man vielleicht durch eine "krumme" Baudrate den Taktfehler korrigieren. Soweit ich weiß kann man den internen Takt auch kalibrieren, aber beides habe ich noch nicht versucht/gemacht.
Gruß
mic
Bitabfolge laut Datenblatt, nach dem MSB kommt direkt das Stopbit:
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen