首页| 论坛| 消息

标题:Qt 不能打开由USB转换过来的串口
作者:twodiamond
日期:2018-08-24 16:20
内容:

XP平台:
1、机器上有一个自带串口COM1,使用USB转串口得到COM15,可以使用Qt相关类打开COM1,但是打开COM15时报错(“无效设备”);
2、其它的串口工具(SSCOM)是可以打开COM1、COM15的;
会有什么问题呢?
谢谢大家!


#1 [yysr 08-24 20:53]
1. 将Qt得到的串口列表显示出来
2. 按照显示的串口打开
#2 [sxp1982 11-26 13:35]
\\.\COM10超过10的路径需要改,如果为COM1至COM9,可使用“COM1”-“COM9”作为文件名传递给CreateFile()
函数,函数可成功返回。但是,如果操作对象为COM10及以上的端口,以此方式命
名文件名调用CreateFile()函数会返回INVALID_HANDLE_VALUE,表示端口无法打开。
产生这种奇怪现象的原因是:微软预定义的标准设备中含有“COM1”-“COM9”。所以
,“COM1”-“COM9”作为文件名传递给函数时操作系统会自动地将之解析为相应的
设备。但对于COM10及以上的串口,“COM10”之类的文件名系统只视之为一般意义
上的文件,而非串行设备。
为了增加对COM10及以上串行端口的支持,微软规定,如果要访问这样的设备,应
使用这样的文件名(以COM10为例):\\.\COM10
#3 [sxp1982 11-26 13:36]
你也可以设备管理器改成小于10的串口号

回复 发表
主题 版块