一、【問題】
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類不會出現以上出現的問題。