刚开始,我以为是我的串口配置出了问题,检查了一遍,没发现什么问题。
然后,就开始百度,搜到的相关网页挺多的,却没什么卵用。
后来,抱着试试看的态度,我使用国外搜索引擎“http://www.aol.com/”。国外一位同行说,他也遇到了这样的问题,后来在使用PurgeComm函数之前,Sleep了一段时间,问题就解决了。
好奇怪。我的相应代码:
在做串口开发之前,在网上看了一些文档。
我觉得
PurgeComm,应该在需要的时候再用,而不是单纯的每次收发数据时都调用一次。
ClearCommError,应该在串口出错的时候,再调用,清除通讯设备的错误标志,使接收操作继续正常运行。
还有一个最重要的,一定要判断返回值,一定要判断返回值。