Zitat Zitat von Geistesblitz Beitrag anzeigen
@Mxt: wofür steht eigentlich das STX-Byte?
Es zeigt einfach den Beginn einer Übertragung an.

Möglicherweise hat der Empfänger ja den Anfang nicht mitgekriegt, weil er z.B. erst später seine Schnittstelle aufgemacht hat. Er schmeißt also erstmal alle Bytes weg, bis er auf ein STX trifft.

Dann sind wir wieder bei meinem ersten Beispiel aus meiner ersten Antwort. Man schickt einfach

STX ... beliebig viele Datenbytes ... ETX

und wenn in den Datenbytes der Wert von STX, ETX oder ESC auftaucht, dann sendet man zusätzlich noch ein ESC davor. Das ist auch das, was die anderen, wie Peter, meinen.


Die Sache mit den Frames kommt ins Spiel, wenn man große Datenmengen schicken will, aber Sender oder Empfänger nicht genug freien Speicher dafür haben. Dann müssen die Daten in Pakete zerlegt werden. Die Framenummer ist die Paketnummer. Man kann das auch beliebig erweitern, z.B. in eine "Dies ist Paket 1 von 4" Numerierung mit zwei Framenummerbytes.

ISO-TP kommt eigentlich vom CAN Bus. Da hat man das Problem, dass eine Message nur maximal 8 Datenbytes haben kann. Mit Hilfe der Framenummern kann man aber, aufgeteilt auf viele Botschaften, bis zu 4095 Bytes auf definierte Weise übertragen. Die Framenummer darf normalerweise nicht überlaufen, deshalb legt die Anzahl der verfügbaren Nummern die maximale Größe einer Übertragung fest.

Verwendet wird das z.B. bei den Daten auf dem Diagnosestecker des Autos:
http://de.wikipedia.org/wiki/Unified...ostic_Services
http://de.wikipedia.org/wiki/KWP2000