Daten korrekt von COM-Port empfangen?

Jonas007

Grünschnabel
Ich habe ein Problem und habe auch beim Durchsuchen dieses Forums leider nichts direkt gefunden, was mit weiterhilft.
Ich möchte Daten zwischen dem PC und einem über COM-Port angeschlossenen Schaltnetzteil austauschen, welches sich eben hierüber steuern und auslesen lässt.

Nun bereitet mir insbesondere das Auslesen der Daten einige Probleme.
In der sehr dürftigen Übersicht über das Datenprotokoll steht u.a., dass das Netzgerät strändig 1200 bits/sekunde sendet. Jeder Cluster beginnt dabei mit EBh, 90h und besteht insgesamt aus 15 byte. Die für mich besonders interessanten Infos, die aktuelle Spannung am Netzgerät, stehen im dritten und vierten Byte.

Nun habe ich das so programmiert, dass ich immer 15 Byte auslese und es kommen auch Daten an. Nur leider sind in dieser Datenkette die oben genannten EBh und 90h nicht zu finden, dafür aber zwei hintereinanderfolgende Werte, die jeweils um 8h drunter liegen?
Die beiden Bytes dahinter stimmen allerdings meist mit der aktuellen Spannung überein, aber leider auch nicht immer.

Was muss ich denn beim Öffnen der COM-Verbindung mit CreateFile() bsonderes beachten oder beim Abrufen der Daten mit ReadFile()?
Die ankommenden Hex-Zahlen, speicher ich immer in einem String ab und speichere sie danacg als Int-Werte, weil ich damit besser zurecht komme oder liegt da vielleicht ein Denkfehler?
 
Zurück