(28.11.2013 15:52 )redhand schrieb: Noch eine letzte Frage:
Wollen wir wetten, dass nicht?
(28.11.2013 15:52 )redhand schrieb: Wenn Case 0 abgearbeitet ist, kommen letztendlich noch 2Byte von den anfangs gesendeten 6Byte in Case 1 (richtig?)
Nein, es kommen max. 2 Byte an.
EDIT: Ich sehe gerade, ich habe im Upload einen Fehler. Das erste VI im Case 0 muss ein "Match Pattern" sein, kein "Split String"; Upload ist ausgetauscht!!
(28.11.2013 15:52 )redhand schrieb: Wieso ist im "Search/Split String" in Case1 der Offset 3?
Es werden 3 weitere Bytes ausgelesen und zu den bis zu 2 Bytes angehängt. Davon werden wieder die ersten 3 Bytes ausgeschnitten, sie müssen jetzt die nächste Kanal-Info sein. Und das geht dann immer so weiter.
Das ist übrigens der Case 1 und folgende (beachte die Default-Auswahl).
Spiel doch mal alle Fälle durch:
Du hast folgende Möglichkeiten
1) das erste Byte im ersten Lesezyklus ist das erste Byte eines Kanals.
- jetzt kann das zweite Byte 0x01 sein, muss aber nicht. Auf jeden Fall ist das dritte Byte ein 0x01
2) das erste Byte im ersten Lesezyklus ist das zweite Byte eines Kanals, es kann ein 0x01 sein, muss aber nicht.
- auf jeden Fall muss jetzt das 2. Byte ein 0x01 sein.
3) das erste Byte ist das Synch-Byte, also 0x01. Das nächste Byte MUSS also ungleich 0x01 sein, da die Kanal-Info in den 4 High-Bits steckt.
Überlege dir für jeden der Fälle, was das VI macht.
Gruß, Jens