Ist es möglich, NUL über eine serielle Leitung zu senden?

Ist es möglich, NUL über eine serielle Leitung zu senden?

Der Wert des ASCII-Zeichens „NUL“ ist 0. Ist es möglich, dieses Zeichen über eine serielle Leitung zu senden, ohne dass es als Senden keiner Daten interpretiert wird?

Antwort1

Ja, natürlich. Die Gestaltung der Zeichen ist von ihrem Inhalt getrennt. Es gibt keinen Grund, warum acht Nullbits automatisch als „keine Daten gesendet“ interpretiert werden sollten – ebenso wenig wie ein Festplattensektor voller Nullen.

Um es genauer zu erklären: Bei einer typischen asynchronen seriellen Verbindung haben Sie ein Startbit, dann acht Datenbits und dann ein Stoppbit. Sie hätten immer noch die acht Datenbits – sie wären nur zufällig alle Nullen. Das Start- und Stoppbit sagen dem Empfänger „hier ist ein Zeichen“. Was die Bits im Zeichen sind, ist irrelevant.

Wenn ein empfangendes Programm NUL zufällig als „keine Daten“ interpretiert, ist das seine Sache, aber das ist ein Problem auf Anwendungsebene.

Wenn das empfangende Programm beispielsweise ein Terminalemulator ist, wird es wahrscheinlich nichts tun, wenn es ein NUL empfängt (weil die meisten echten Terminals das tun). Die API der seriellen Schnittstelle hat den Empfang des NUL-Zeichens dennoch registriert und an das Programm übergeben. Es ist der Terminalemulator, der entschieden hat: „Oh, das ignoriere ich einfach.“

Es gibt zahlreiche Anwendungen zum Senden „binärer“ Daten über asynchrone serielle Leitungen, die fehlgeschlagen wären, wenn überhaupt keine NULs gesendet oder empfangen worden wären.

Weitere Informationen finden Sie unterhttps://en.wikipedia.org/wiki/Asynchrone_serielle_Kommunikation

Antwort2

Das serielle Protokoll verfügt über Start- und Stoppbits, und die Daten sind innerhalb dieser eingezäunt – N81 (keine Parität, 8 Bits, 1 Stoppbit ermöglicht das Senden beliebiger ASCII-Zeichen und ist eine gängige Kodierung). Durch Senden bzw. Nichtsenden eines Startbits kann daher zwischen nichts und Null unterschieden werden.

verwandte Informationen