linux下基於QT的串列埠程式

2021-07-22 22:43:04 字數 1541 閱讀 1318

qt5發布之前,qt實現串列埠通訊一般是採用第三方類庫qextserialport。qt5發布後自帶了qtserialport 能夠支援串列埠通訊。

一:qt5.0以下版本

1.在工程中引入4個檔案。

qextserialbase.cpp和qextserialbase.h 以及posix_qextserialport.cpp和posix_qextserialport.h

2.新增標頭檔案包含: 

#include 「posix_qextserialport.h」

3. private中宣告物件:

posix_qextserialport *mycom;

4. 串列埠引數設定

mycom = new posix_qextserialport("/dev/ttysac3",qextserialbase::polling);

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

mycom->setbaudrate(baud115200); //波特率設定,我們設定為115200

mycom->setdatabits(data_8); //資料位設定,我們設定為8位資料位

mycom->setparity(par_none); //奇偶校驗設定,我們設定為無校驗

mycom->setstopbits(stop_1); //停止位設定,我們設定為1位停止位

mycom->setflowcontrol(flow_off); //資料流控制設定,我們設定為無資料流控制

mycom->settimeout(10);

具體的資訊和windows下的qt參考:

二:qt5.0以上版本

1. 在pro檔案中新增   

qt       += serialport

2. 引入標頭檔案

#include #include
3. 串列埠變數

qserialport *mycom;//宣告物件

4. 串列埠引數設定

mycom = new qserialport();

mycom->setportname("/dev/ttys0");

mycom->open(qiodevice::readwrite);

mycom->setbaudrate(qserialport::baud115200);

mycom->setbaudrate(qserialport::data8);

mycom->setparity(qserialport::noparity);

mycom->setstopbits(qserialport::onestop);

mycom->setflowcontrol(qserialport::noflowcontrol);

Linux下基於QT串列埠程式設計測試一

linux下基於qt串列埠程式設計測試一 環境 主機 fedora12 開發軟體 qt 目標板 mini6410 實現功能 目標板接收pc串列埠傳過來的資訊並在終端輸出,目標板串列埠接收資訊用select機制 源 widget.h ifndef widget h define widget h in...

Linux下基於QT串列埠程式設計測試一

環境 主機 fedora12 開發軟體 qt 目標板 mini6410 實現功能 目標板接收pc串列埠傳過來的資訊並在終端輸出,目標板串列埠接收資訊用select機制 源 widget.h cpp view plain copy ifndef widget h define widget h inc...

Linux下基於QT串列埠程式設計測試一

linux下基於qt串列埠程式設計測試一 環境 主機 fedora12 開發軟體 qt 目標板 mini6410 實現功能 目標板接收pc串列埠傳過來的資訊並在終端輸出,目標板串列埠接收資訊用select機制 源 widget.h ifndef widget h define widget h in...