• 2323阅读
  • 3回复

Qt 不能打开由USB转换过来的串口 [复制链接]

上一主题 下一主题
离线twodiamond
 

只看楼主 倒序阅读 楼主  发表于: 2018-08-24
XP平台:
1、机器上有一个自带串口COM1,使用USB转串口得到COM15,可以使用Qt相关类打开COM1,但是打开COM15时报错(“无效设备”);
2、其它的串口工具(SSCOM)是可以打开COM1、COM15的;

会有什么问题呢?

谢谢大家!
离线yysr

只看该作者 1楼 发表于: 2018-08-24
1. 将Qt得到的串口列表显示出来
2. 按照显示的串口打开
离线sxp1982

只看该作者 2楼 发表于: 2018-11-26
\\.\COM10  超过10的路径需要改,如果为COM1至COM9,可使用“COM1”-“COM9”作为文件名传递给CreateFile()

函数,函数可成功返回。但是,如果操作对象为COM10及以上的端口,以此方式命

名文件名调用CreateFile()函数会返回INVALID_HANDLE_VALUE,表示端口无法打开。

产生这种奇怪现象的原因是:微软预定义的标准设备中含有“COM1”-“COM9”。所以

,“COM1”-“COM9”作为文件名传递给函数时操作系统会自动地将之解析为相应的

设备。但对于COM10及以上的串口,“COM10”之类的文件名系统只视之为一般意义

上的文件,而非串行设备。

       为了增加对COM10及以上串行端口的支持,微软规定,如果要访问这样的设备,应

使用这样的文件名(以COM10为例):\\.\COM10
离线sxp1982

只看该作者 3楼 发表于: 2018-11-26
你也可以设备管理器改成小于10的串口号
快速回复
限100 字节
 
上一个 下一个