Die Karte und das Terminal verwenden wahrscheinlich nicht die gleiche Baudrate. Überprüfen Sie die untere rechte Ecke des Arduino Serial Terminal und stellen Sie sicher, dass es auf 9600 eingestellt ist.
Serielle Daten
Serielle Kommunikation funktioniert, indem der gesamte Datenstrom bitweise gesendet wird. Dies steht im Gegensatz zum standardmäßigen parallelen Port, der jeweils ein Byte sendet. Beide Geräte müssen wissen, mit welcher Geschwindigkeit die Daten gesendet werden. Außerdem müssen beide Geräte mit der gleichen Geschwindigkeit arbeiten. Dies nennt man die Baudrate.
Baudrate
Baud bedeutet eigentlich nur Impulse pro Sekunde. Bei der seriellen Kommunikation bedeutet dies, wie viele Bits pro Sekunde übertragen werden. Einer der gebräuchlichsten Werte ist 9600, aber es gibt auch andere gebräuchliche Werte, die Faktoren oder Vielfache von 9600 sind. Es spielt jedoch keine Rolle, solange beide Geräte mit der gleichen Geschwindigkeit arbeiten.
Wenn ich Ihnen Nachrichten schneller sende, als Sie sie erhalten, gehen Daten verloren. Wenn ich Ihnen Nachrichten langsamer sende, als Sie sie empfangen, wird der Unsinn mit dem vermengt, was ich Ihnen gesendet habe.
Daten, Parität, Stoppbits
Wenn Sie sich die Dokumentation begin()
ansehen, werden Sie feststellen, dass zwei Parameter verwendet werden können:
Serial.begin(speed)
Serial.begin(speed, config)
Hoffentlich verstehen Sie die Geschwindigkeit jetzt, es sind die Bits pro Sekunde, mit denen der Arduino kommunizieren wird.
Mit dem zweiten Parameter config
können Sie einige andere Dinge zur seriellen Datenübertragung konfigurieren. Dies sind die Daten-, Paritäts- und Stoppbits. Sie werden auf der Seite sehen , es hat Werte wie 5N1
, 6N1
undSERIAL_8N1 (the default)
Die erste Zahl gibt an, wie viele Datenbits vorhanden sind. Das zweite Zeichen gibt an, welche Art von Paritätsbit vorhanden ist. E
für gerade Parität, O
für ungerade Parität oder N
für keine Parität. Die dritte Zahl gibt an, wie viele Stoppbits vorhanden sind.
Mit 8N1 werden also wirklich 10 Bits für jeweils 8 Bits "Ihrer" Daten gesendet. 1 Startbit, 8 Datenbits und 1 Stoppbit.
Auf jeden Fall müssen sich beide Seiten auf diese Informationen sowie die Geschwindigkeit einigen. Das serielle Arduino-Terminal bietet Ihnen nicht die Möglichkeit, diese Einstellungen zu ändern, andere jedoch, sodass Sie sicherstellen müssen, dass alle diese Konfigurationseinstellungen identisch sind.
Weitere Informationen im Wiki: Asynchrone serielle Kommunikation