Gerd hat ja die Frage schon richtig beantortet, meine Aufgabe ist jetzt die literarische Auschmückung
Wenn Du an das Read am Eingang 18 Byte anschließt und das Abschlußzeichen deaktivierst, dann kann das durchaus eine ganz Weile gut gehen. Es ist aber von der Synchronisation her nicht besonders stabil. Es besteht z.B. die folgende Gefahr: wenn Du das Vi startest und der µC sendet bereits, dann kann es passieren, daß das Programm im dritten Byte eines Datensatzes anfängt zu lesen. Und das synchronisiert sich nie wieder, weil immer wieder genau 18 Byte gelesen werden. Also immer vom dritten Byte eines Datensatzes bis zum zweiten Byte das nächsten Datensatzes.
Zur Arbeitsweise von Read: Es wartet, bis eine von drei Bedingungen erfüllt ist:
a) Es ist die Anzahl von Bytes im Buffer, die am Eingang anliegt.
b) Es ist ein Endezeichen im Buffer (Nur bei aktivierten Endezeichen)
c) Timeout ist erreicht (mit Fehlermeldung).
Als Abschlußzeichen kommt bei Dir LF (x0A) oder CR (x0D) in Frage. Wenn das Manual nicht zu Hand ist, wäre das auch in 10 sec durchprobiert, mit welchem Zeichen es funktioniert und mit welchem nicht.