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

2021-08-13 04:26:22 字數 1573 閱讀 3718

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

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

qt能夠跨平台,跨

window

,android

,linux

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

qt5.6

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

之前看過

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

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

一是qt

本身自帶的模組,

qserialport

庫和qserialportinfo

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

[cpp]view plain

copy

#include 

#include 

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

[cpp]view plain

copy

qserialport  *my_serialport=

newqserialport;  

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

[cpp]view plain

copy

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);//設定沒有資料流控制

關閉串列埠:

[cpp]view plain

copy

my_serialport->close();  

讀取緩衝區的資料:

[cpp]view plain

copy

qbytearray requestdata=my_serialport->readall();  

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

[cpp]view plain

copy

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 ...