Hy alle!Empfange NMEA0183-Daten von COM PORT C++
Ich schrieb eine kleine GPS-Anwendung in einfachen C++, was das Protokoll wechseln, Befehl an den GPS-Chip senden ... etc. Das Schreiben in den GPS-Port funktioniert gut. Aber wenn ich versuche, den Port zu lesen (um die akzeptierten Befehle zu überprüfen), erhalte ich viele dumme Zeichen. Normalerweise ist eine NMEA Ausgangsmeldung etwas wie folgt aus:
$GPGLL,4916.45,N,12311.12,W,225444,A
Und ich erhielt ähnlich:
1C0CFC14
Ich weiß nicht, was falsch ... Dieser Teil meines Codes ist der nächste:
LPCVOID buffer[100];
ReadFile(hSerial, buffer, 100, 0, 0);
Oder ein anderes für log einige Daten:
LPCVOID buffer[100];
ReadFile(hSerial, buffer, 100, 0, 0);
ofstream log ("log.txt");
log << buffer;
log.close();
Natürlich ist das Hserial vorher deklariert und es funktioniert gut zum Schreiben. Wenn ich den GRIFF deklariert habe, habe ich die hSerial-Datei auch zum Lesen und Schreiben geöffnet. Die Zielplattform ist Windows Mobile 5.0 und 6.0. Was ist los? Vielen Dank für die Hilfe!
Sind diese Zeichen immer im Bereich 0-9 und A-F? Wenn ja, sind sie hexadezimale Ziffern, verwenden Sie einen Hex-Viewer? Du sagst, dass es gut für das Schreiben ist, was sind deine Hinweise, das zu sagen? Nur versuchen, das Problem zu isolieren ,,, –