【发布时间】:2012-04-18 16:36:19
【问题描述】:
大家好!
我用简单的 C++ 编写了一个小型 gps 应用程序,切换协议、向 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 是在之前声明的,并且它的工作性很好。 当我声明 HANDLE 时,我也打开了 hSerial 文件进行读写。 目标平台是 Windows Mobile 5.0 和 6.0。 怎么了? 非常感谢您的帮助!
【问题讨论】:
-
这些字符总是在 0-9 和 A-F 范围内吗?如果是这样,它们是十六进制数字,您使用的是十六进制查看器吗?你说它对写作有好处,你说这句话的线索是什么?只是试图隔离问题,,,