①在專案的.pro檔案中新增:
qt += serialport②引入相關標頭檔案
#include①要進行串列埠通訊,第一步一定是搜尋可用串列埠咯,可參考下列例項,搜尋當前可用串列埠並將其輸出到乙個qcombobox上。#include
void widget::
on_btn_work_renew_sperial_clicked()
}//最後通過判斷combobox的項數,若為0則提示未找到串列埠
if(ui-
>cbox_sperial-
>
count()
==0)}
②定義乙個串列埠物件,作為主視窗的私有成員物件qserialport *serialport;
③開啟串列埠實現函式void widget::
opensperial()
//新建物件
this
->serialport =
new qserialport;
//設定串列埠名
serialport-
>
setportname
(ui-
>cbox_sperial-
>
currenttext()
);//獲取介面combobox選中的值
//開啟串列埠讀寫功能
serialport-
>
open
(qiodevice::readwrite)
;//設定波特率
serialport-
>
setbaudrate
(9600);
//設定資料位
serialport-
>
setdatabits
(qserialport::data8)
;//其他可選值有qserialport::data7、qserialport::data6、qserialport::data5
//設定校驗位
serialport-
>
setparity
(qserialport::noparity)
;//即無校驗,其他可選值有qserialport::oddparity(奇校驗)、qserialport::evenparity(偶校驗)
//設定停止位
serialport-
>
setstopbits
(qserialport::onestop)
;//1位停止位,其他可選值有qserialport::twostop(2位停止位)
//設定不啟用流控制
serialport-
>
setflowcontrol
(qserialport::noflowcontrol)
;//繫結資料接收訊號,每次接收到資料則觸發read_data槽函式
qobject::
connect
(serialport,
signal
(readyread()
),this
,slot
(read_data()
));}
④傳送資料void widget::
on_btn_send_data_clicked()
else
}
⑤接收資料void widget::
read_data()
Qt串列埠通訊
1.在早期的qt版本中,主要是採用第三方類作為qt對串列埠通訊的支援,具體可參考 2.在進入qt5的時代後,串列埠通訊已經作為qt的乙個附件部分,但沒有作為qt的正式模組。使用這樣的串列埠模組時,需要自行編譯串列埠部分,具體可參考 鑑於以上兩種做法都比較複雜,本人一直沒有除錯串列埠通訊部分,直到最近...
Qt 串列埠通訊
開發環境 qt5.5.1 qt creator 3.5.1 1 建立專案 qtserialdemo 2 新增元件 修改 專案名.pro qtserialdemo.pro 新增 qt serialport 3 新增如下使用 qt串列埠 所需的標頭檔案 include include 4 主要串列埠通訊...
Qt 串列埠通訊
1.概述 因為專案需要,對qt的串列埠通訊進行了一些學習,這個專案的乙個需求是將乙個測溫儀器的資料讀取到電腦進行處理,根據這個儀器的通訊協議,每次讀取前都需要對它寫入命令。這裡用到了qt進行了讀寫操作,其中遇到了關於十六進製制write問題並得以解決。使用到的qt庫 qtserialport 2.詳...