Für die serielle Kommunikation zwischen einem ATMega8 und der Software
auf einem Mobiltelefon erstelle ich gerade eine Reihe von (kurzen)
Telegrammen, die hin- und hergeschickt werden sollen. Da ich nicht weiß,
wie fehleranfällig diese Kommunikation werden kann (mir fehlt da die
praktische Erfahrung), habe ich überlegt, die Telegramme in Frames zu
packen, evtl. mit zusätzlicher Prüfsumme.
Recht verbreitet scheint ja folgendes Protokoll zu sein:
wobei DLEs innerhalb der Daten ein weiteres DLE vorangestellt wird.
Folgendes Beispiel lässt mich jetzt seit einer halben Stunde grübeln:
In den Daten ist ein "DLE STX". Vor dem Senden wird es ergänzt zu "DLE
DLE STX" und dann abgeschickt. Wenn jetzt der Empfänger durch einen
blöden Zufall exakt im Moment nach dem ersten DLE "hinhört", sieht es
für ihn ja exakt aus wie eine Startkennung und das erste Paket ist
"Murks"? Oder?
Wie wird dieses Problem umgangen?
Abgesehen davon - ist ein Verpacken in Frames wirklich notwendig, wenn
die Telegramme feste Längen haben, recht kurz sind und der Datenverkehr
nur langsam und sporadisch stattfindet?
Danke für Tipps,
Florian