Isrlabel:
Schau, am Anfang is ja zeiger=1, und wenn die "If" nicht aufgehen, bleibt es dabei: Alles was kommt, kommt nach Db1(1)
Wird nun ein Byte 128 = &H80 empfangen, geht der zweite IF auf:
Das Byte (12 kommt nach DB2(1), Db1(1) wird gelöscht, Zeiger geht +1 auf eins.
Alles, was jetzt kommt, kommt nach DB1(2)
das erste If geht noch immer nicht, das zweite kann auch nicht.
Erst, wenn nun ein Byte 254 (&HFE) emfangen wird, steht:
In db2(1) das 128 von vorher,
In db2(2) das 254 von jetzt , also wird der Zeiger erhöht,
dieser letze If geht nun immer auf, es landen die Folge-Bytes also in
DB(3), DB(4) etc.
Ist nun Zeiger = 6, kommt das erste If dran:
Alle 6 Byte gehen nach DB2(1,2,3,4,5,6)
Zeiger = 1, und es geht von vorne los.
Damit die Hauptschleife das weiss, wird A=1 gesetzt.
Die fummelt rum, und setzt A=0

In dieser Zeit kann Isrlabel schon wieder die nächsten 6 Byte empfangen.

kurzum, es wird gewartet bis hintereinander ein &H80 u. &HFE kommen, dann werden weiter 4 BYte empfangen, das ganze nach DB2, und die Hauptschleife zeigts her


*schnauf*

Hilft das ?