自學Qt之路 串列埠程式設計(使用自帶Qt庫)

2021-07-30 08:42:16 字數 1356 閱讀 1404

之前學習嵌入式驅動,做乙個紅外攝像頭的專案,在作業系統之上直接操作

lcd顯示屏,顯示影象。後來聽說

qt能夠跨平台,跨

window

,android

,linux

三個平台,而且做專案必須有個圖形介面,看起來高大上。之後根據這個專案需要,自學

qt5.6

,寫個部落格記錄一下自己學習過程。

之前看過

qt的基本操作,一些類的用法,還有訊號與槽的機制。

開始著手專案,首先是串列埠通訊。通過萬能的度娘,發現編寫串列埠通訊,有兩種方法:

一是qt

本身自帶的模組,

qserialport

庫和qserialportinfo

庫,在相應的標頭檔案加上這兩個庫:

#include #include

在標頭檔案中宣告私有物件:

qserialport  *my_serialport=new  qserialport;

在函式中開始設定串列埠的各種引數:

my_serialport->setportname(portnum);//設定串列埠名字,可以換成(「com4」)

my_serialport->open(qiodevice::readwrite);//以讀寫的方式開啟串列埠

my_serialport->setbaudrate(qserialport::baud115200,qserialport::alldirections);//設定波特率

my_serialport->setdatabits(qserialport::data8);//設定傳輸資料位,設為8位

my_serialport->setparity(qserialport::noparity);//設定沒有校驗位

my_serialport->setstopbits(qserialport::onestop);//設定一位停止位

my_serialport->setflowcontrol(qserialport::noflowcontrol);//設定沒有資料流控制

關閉串列埠:

my_serialport->close();

讀取緩衝區的資料:

qbytearray requestdata=my_serialport->readall();

等待緩衝區有幾個位元組再讀取:

if(my_serialport->waitforreadyread(5))//等待是否有5個位元組

自學Qt之路 串列埠程式設計(使用自帶Qt庫)

之前學習嵌入式驅動,做乙個紅外攝像頭的專案,在作業系統之上直接操作 lcd顯示屏,顯示影象。後來聽說 qt能夠跨平台,跨 window android linux 三個平台,而且做專案必須有個圖形介面,看起來高大上。之後根據這個專案需要,自學 qt5.6 寫個部落格記錄一下自己學習過程。之前看過 q...

qt串列埠程式設計

本帖被 xchinux 執行加亮操作 2008 04 22 serial.cpp int main int argc,char argv mainwindow.h ifndef main window h define main window h include class qlabel class...

qt串列埠程式設計

開啟串列埠後要重新設定一遍波特率,資料位,校驗位等,否則這些都是預設的。連線串列埠 void mainwindow on opencomn clicked ui opencomn settext 開啟串列埠 return qstring comnarg ui comnarg currenttext ...