Windows 10 64位下USB串口PL2303驱动和MSComm不兼容

来源:互联网 发布:java设置文件权限 编辑:程序博客网 时间:2024/04/30 04:16

首先需要知道的就是基于PL2303芯片的USB转串口线在64位系统下,包括Windows 7和Windows 10,驱动有点小问题,就是不能装最新的驱动,具体可以去搜索

“PL2303 64位 驱动”

按照网上说的方法,替换了比较老版本的驱动,用串口调试助手是没问题了;在VS2010下用MSComm控件写的串口程序,事件处理函数OnCommMscomm1( )也能正常执行(缓冲区有字符事件),但是调用mscomm.get_input( )去读缓冲区的时候就会抛出异常,无法读取接收到的字符。

中间各种怀疑,各种尝试和无用功省略1w字。。。
贴两个讨论帖
http://tieba.baidu.com/p/3929273415
http://bbs.csdn.net/topics/350205174

最后终于发现是USB转串口线的问题,准确地说是PL2303驱动兼容性的问题。
总结起来,有以下解决办法
- 目前的情况就是,在64位的Windows 10系统下(Windows 7没试过),如果用最新版本的驱动,那么调用mscomm.get_input( )去读缓冲区不抛异常,但是不能发送(包括用串口调试助手);如果用老版本的驱动,那么就不能用MSComm控件,用CSerialPort吧
- 用32位的系统或者VC6.0,动作不小
- 用其他方案的USB串口线,比如我改成国产的CH340的就没这问题


原创粉丝点击