Identifizierung von Paketen in einem Bytestrom

Ich habe ein kleines Problem mit der Kommunikation zu einem Beschleunigungssensor. Der Sensor gibt kontinuierlich ca. 8000 Messwerte pro Sekunde aus. Der Sensor wird mit einem Adapter an einen USB-Anschluss angeschlossen und als com4 angezeigt. Mein Problem ist, dass ich anscheinend die Sensorlesepakete nicht aus dem Bytestrom heraussuchen kann. Die Pakete haben die Größe von fünf Bytes und haben das folgende Format:

            High nibble                     Low nibble

Byte 1      checksum, id for packet start   X high
Byte 2      X mid                           X low
Byte 3      Y high                          Y mid
Byte 4      Y low                           Z high
Byte 5      Y mid                           Y low

X, y, z ist die Beschleunigung.

In der Dokumentation zum Sensor heißt es, dass das High-Nibble im ersten Byte die Prüfsumme (berechnet Xhigh + Xlow + Yhigh + Ylow + Zhigh + Zlow), aber auch die Identifikation des Paketstarts ist. Ich bin ziemlich neu in der Programmierung mit externen Geräten und kann nicht wirklich verstehen, wie die Prüfsumme als Kennung für den Start des Pakets verwendet werden kann (würde sich die Prüfsumme nicht ständig ändern?). Ist dies ein gängiger Weg, um den Beginn eines Pakets zu identifizieren? Hat jemand eine Idee, wie man dieses Problem löst?

Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage