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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 虚拟机打包apk出现错误
    • ¥30 最小化遗憾贪心算法上界
    • ¥15 用visual studi code完成html页面
    • ¥15 聚类分析或者python进行数据分析
    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝