WIe liest man Bytestreams an Serial ein

Ich verstehe den Sinn Deiner Kommunikation (unabhängig vom Code) nicht.

Dein Ansatz: Startzeichen + variable Anzahl Zeichen, aber höchstens x + Endezeichen - richtig?

Nicht passend wäre:

  • kein Startzeichen: nicht auswertbar
  • mehr als x Zeichen ohne Endezeichen
  • weniger als x Zeichen aber kein Endezeichen: Schwer erkennbar
  • Abweichung in den x-Zeichen, dazu würdest Du aber eine CRC brauchen

Welchen Sinn soll es haben, im Fehlerfall alles zurück zu senden?

In einer Kommunikation habe ich eigentlich nur 3 Zustände:

  1. nichts los
  2. alles ok (bei Dir also Start+Text<=x+Stop)
  3. Fehler

Bei 2 und 3 sende ich ein Bestätigungszeichen zurück (ok oder nicht)

Gruß Tommy