Electronics > Electronics General
UART problem
MathiasW:
Salut,
ich habe ein Problem mit einem Board: Wenn ich einen einfachen text auf die serielle Schnittstelle gebe, erhalte ich einen unleserlichen Output auf dem Terminal: ")aayvé^.&V) ©" - geschickt wurde "Hello World 2 UART1"
Bei einem baugleichen Board klappt die Ausgabe. Ich habe keine Idee, wo ich suchen soll ...
Ciao, Mathias
microtherion:
Vielleicht könntest Du mal damit beginnen, die Bitrate zu variieren. Bei einer genügend langsamen Rate hilft dann vielleicht ein Blick auf ein Oszilloskop, um Störungen zu sehen.
Kommt immer exakt der gleiche falsche Text?
MathiasW:
SAlut,
ich habe die Bitrate komplett durchgestimmt und keine Hinweise gesehen. Es kommt immer exakt der gleiche Text, auch zeitlich genau mit dem print Statement. Ein Rauschen sehe ich daher nicht als Fehlerquelle. AB 56k kommt nichts mehr, bei 38k nur "AAAAAAAAAAAAAAAA" .... (der Chip scheint wohl auch zu verzweifeln ;)
Ciao, Mathias
boxtec-support:
Die wirre Zeichenfolge würde mich als allererstes auf die Baudrate schliessen lassen, genauso siehts dann aus, aber ich bin sicher das hast Du ausgeschlossen.
Ich habe so meine Erfahrungen mit Software Serial gemacht, da werden dann einfach Zeichen ausgetauscht oder gehen verloren, ein "Hello World!" mit 38400 über Software kommt dann z.B. als "Helo orld#" an. Aber da kann man zuverlässig bei tieferwerdenden Baudraten höhere Genauigkeit erlangen und umgekehrt.
Ev. sind die beiden Kommunikationspartner nicht auf dem gleichen GND-Level (wenn z.B. eines der GND freihängt)? Da UART aktiv auf LOW ist, kann das interessante Effekte verursachen denke ich.
MathiasW:
Salut,
es war ein Timingproblem mit den Voreinstellungen des Bootloaders. Nachdem ich den aktuellen Bootloader geflasht hatte funktioniert die Serielle Kommunikation. der Grund liegt darin, dass der alte Bootloader auf 40 MHz, der neue Bootloader und die Codebasis aber auf 48 MHz ausgelegt waren.
Übrigens: Testen wollte ich eigentlich die maximale Baudrate. Die ist derzeit erfolgreich auf 912600 eingestellt (!)
Ciao, Mathias
Navigation
[0] Message Index
[#] Next page
Go to full version