zzwyrmslayer 2015-11-10 01:25
浏览 1514

CSerialPort 使用问题

编程环境为VC2010/VC2015 MFC(用100 140 140xp编译器均试过),在写串口指令后,有时会被无限个数的读请求锁死CommThread线程,也就是无时无刻的在执行ReceiveChar函数,从而无法响应其他事件而一直在处理读请求。以排除计算机的问题和串口芯片与连接线的问题。跟踪ReceiveChar发现读到的数据长度均为0,是无效的。值得注意的是OVERLAPPED结构体中的internal此时为一个非常奇怪的数值3221225485,在网页或者MSDN上均无法搜到这个值的意义,请高手帮忙分析下。

在此网站上已有人提出过类似的问题,但是并没有人给出一个有效的回答:
http://bbs.csdn.net/topics/391070927

调试结果图如下:
另:这个串口类在网上流传的十分广泛,我本人也使用过3,4年了从来没发生过这种现象。![图片说明图片说明

再次强调,如果怀疑这个串口类本身有问题,请先自行看下代码,此类存在至少10年了,并且被广泛使用,我不能100%的说我的硬件没问题,但我觉得99%的可能性问题不在硬件上。类源码地址:
原始:http://codeguru.earthweb.com/network/serialport.shtml
较新:https://github.com/liquanhai/CSerialPort

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料