Hy everyone!從COM端口接收NMEA0183數據C++
我用簡單的C++寫了一個小的gps應用程序,什麼開關protocoll,發送命令到gps芯片等等。 寫入GPS端口工作正常。 但是,當我嘗試讀取端口(用於檢查接受的命令)時,我收到了很多愚蠢的字符。正常情況下,NMEA輸出的消息是這樣的:
$GPGLL,4916.45,N,12311.12,W,225444,A
而且我收到了類似的:
1C0CFC14
我不知道什麼是錯... 這我的代碼部分是下一個:
LPCVOID buffer[100];
ReadFile(hSerial, buffer, 100, 0, 0);
或其他用於記錄一些數據:
LPCVOID buffer[100];
ReadFile(hSerial, buffer, 100, 0, 0);
ofstream log ("log.txt");
log << buffer;
log.close();
當然,Hserial之前就已經宣佈過了,而且它的工作性還不錯。 當Im聲明HANDLE時,我也打開了hSerial文件來讀寫。 目標平臺是Windows Mobile 5.0和6.0。 什麼錯了? 非常感謝您的幫助!
這些角色總是在0-9和A-F範圍內嗎?如果是這樣,他們是十六進制數字,你使用十六進制查看器?你說它的寫作效果很好,你有什麼線索可以這麼說?只是試圖隔離問題,,, – 2012-05-05 07:38:34