Qt使用第三方串口类qextserialport无法打开串口的可能解决方案(文章中描述的可以解决)

我前面的博客提到了,在我的笔记本电脑中用QT的第三方串口类QextSerilPort打不开串口,今天终于解决了,下面简单分享一下:

先说下环境:我用的是QT4.8.0,每三方的串口类QextSerialPort, USB转串口的数据线,ZEBRA888-TT的打印机(支持EPL语言);

前两天我在QT中试着打开串口,怎么也打不开,奇怪的是在台式机和别人的笔记本电脑中都能打开,而且更令人不解的是我用串口调试可以正常打开串口,说明不是我的笔记本电脑出了问题,那就是QT出了问题,具体什么问题我并不明白,今天看到一个帖子终于知道怎么解决,具体方法如下:

打串口的名子应该是: port = new QextSerialPort("\\\\.\\COM11");

而不应该是: port = new QextSerialPort("COM11");

 

这样用第三方的串口类就可以轻松打开串口了,帖子具体的内容如一下:

         刚才去网上搜了一下:发现了问题。这样改了。确实能用:
          Com = new Win_QextSerialPort("\\\\.\\COM10", QextSerialBase::EventDriven);
            查到的原因:

      MS的软件什么事情干不出来,软件bug吧,\\\\.\\com10是标准设备名称,自然是可疑打开的,而直接用

     com10或者以上的端口则经过库函数转换成标准名称才用于设备操作,库函数没考虑超过十个串口,所以出问题了。

 

看来网上的朋友就是牛,非常感谢网友,帖子的地址如下,大家可以一起学习一下:

http://topic.csdn.net/u/20101127/16/e65b617a-3395-46ab-b637-2e66765453dc.html

你可能感兴趣的:(QT,串口编程)