Hallo! ich habe ständig einen "Framing-Error" bei einer seriellen Übertragung. 8N1 ist auf beiden Seiten eingestellt. Jetzt weis ich nicht woran es noch liegen könnte. Der uC ist eingestellt auf LSB zuerst senden/empfangen. Aus Instinkt herraus hätte ich jedoch das MSB zuerst geschickt. Kann es daran liegen?
Beim UART wird immer das LSB zuerst übertragen. Ein Framing error ist meist definiert als ein ungültiges Stopbit (=0). Stimmen deine Baudraten/Quarzfrequenzen? MFG Falk
Baudraten usw. stimmen. Ich nehme HTERM. Da kann ich den Fehler eingrenzen: Ales funktioniert solange ich Zahlen 0 bis 9 schicke. Buchstaben oder zweistellige Zahlen verursachen den Fehler.
Mit wieviel Baud willst du die Daten übertragen? Welche Einstellungen haben Sender/Empfänger? Mfg Thomas
Schau mal nach Deiner Einstellung der Stopbits. Kann sein, dass der Sender nur eines sendet, der Empfänger aber 2 erwartet.
19200 Baud, beide Seiten haben 8N1 eingestellt. Alles soweit in Ordnung. Komisch isses...
Gert wrote: > > Ales funktioniert solange ich Zahlen 0 bis 9 schicke. > Buchstaben oder zweistellige Zahlen verursachen den Fehler. Das stinkt gewaltig nach Baudratenfehler. Hast du auch wirklich nen Quarz angeschlossen und nicht den ungenauen internen RC ? Hast Du auch für den Teilerfaktor keinen zu großen Fehler ? Am besten nen Standardquarz z.B. 7,372MHz, dann klappts auch mit der UART und mit der Nachbarin. Peter
OK hab den Fehler. Aber ich verstehe nicht warum: Auf dem Board ist ein 10MHz Quarz. Das "Fertig-Beispiel" für das Board rechnet die Baudrate mit 16MHz aus. Hatte also am Anfang auf 10 geändert. Jetzt...mit 16MHz funzt alles.
@ Peter Dannegger Neben deiner Delay-Allergie hast du wohl auch einen Baudratenquarz-Fetisch? ;-) UART Kommunikation geht mit so ziemlich jedem Quarz, man sollte nur die Berechnung von UBRR und dem Frequenzfehler beherrschen. Eigentlich Mathematik Klasse 7 oder so? MfG Falk P.S. @Gert Prüf mal wie deine Fuse bits im AVR gesetzt sind, dort muss der externe Quarz als Taktquelle aktiviert sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.