一、【问题】
1. QT窗口程序想通过串口与设备通信,于是以QT的方式初始化好,由于串口(物理)转换USB的串口只有一个,别人用了,自己就没法用,然后用虚拟串口调试,一切都正常,把功能都实现了8成了。到我能用串口(物理)转换USB的串口时,在QT的UI上打开,提示“不能打开”,当时蒙了,这还能玩吗?项目计划时间要到了,关键是串口还不能打开,前面的调试白费了吗?心底慌得不行呀。于是,找资料解决呗。
二、【错误现象及修改方式】(忙呀,就不啰嗦了)
【错误原因】:portName = new QextSerialPort("COM15"); //得去看win驱动程序了
【修改方式】:portName = new QextSerialPort("\\\\.\\COM15"); //听说这样是标准
【头文件及模块】查一下QT助手 :QextSerialPort
Header:
#include <QSerialPort>
qmake: //这个放在.pro中
QT += serialport
参考:(谢谢)
http://blog.sina.com.cn/s/blog_8acf1be101016mhx.html
建议:(上面的方法治标不治本,用以上的方法串口可以打开了,后面还有堆问题。)
最好不要再用第三方的QextSerialPort之类的文件包,它们是QT5之前的东西,现在QT不断的更新而QextSerialPort之类并没有同时更新,于是在QT5下使用QextSerialPort会出现这样或者那样的问题,当然你非要用也是没问题就是需要你对QextSerialPort第三方的文件包进行重新修改,如果你时间很多的话,而在QT在QT5环境下使用SDK提供的QSerialPort类不会出现以上出现的问题。