Stichwort: Escaping. Du musst in irgend einer Form differenzieren zwischen dem Startbyte und den Nutzdaten. Eine Möglichkeit ist Escaping, du definierst dir ein Sonderzeichen (255) und legst fest, dass 2xEscape den Start eines Pakets definiert. Escape+0 kann dann Beispielsweise den numerischen Wert 255 darstellen, das Protokoll erfordert also eine Übersetzung zwischen 255 in den Nutzdaten und Escape+0 im übertragenen Datenstrom.
Eine Alternative wäre ein etwas komplexeres (paketorientiertes) Protokoll, bei dem du nach Übertragungsbeginn mitteilst, wieviele Messwerte kommen. Dann kann der PC einfach mitzählen und läuft nicht Gefahr, Nutzdaten falsch zu interpretieren.
Noch ein letzter Gedanke: Bei 12-Bit-Werten (unsigned) hast du das Problem doch gar nicht! Da kann keine Sequenz von 2x255 auftreten, weil das 16 Bit wären. Eines der beiden Bytes wäre definitiv ungleich 255.
mfG
Markus
Lesezeichen