下面開(kāi)始介紹串口類(lèi)的使用。
首先,QT5是自帶QSerialPort這個(gè)類(lèi)的,使用時(shí)需要在pro文件里面添加一行:
然后直接引用頭文件就可以了。
在QT5中,串口通信是借助一個(gè)QSerialPort的對(duì)象來(lái)實(shí)現(xiàn)的,在設(shè)置QSerialPort對(duì)象對(duì)串口的名稱(chēng)、波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等參數(shù)后,方能對(duì)串口進(jìn)行讀寫(xiě)。
下面,我總結(jié)了一下借助QSerailPort對(duì)串口進(jìn)行設(shè)置、打開(kāi)、讀、寫(xiě)和關(guān)閉的過(guò)程。
一 設(shè)置和打開(kāi)串口
以上代碼是QSerialPort對(duì)象的設(shè)置示例,作用是:
設(shè)置串口名為 COM3
設(shè)置波特率為9600
設(shè)置數(shù)據(jù)位為8位
設(shè)置沒(méi)有奇偶校驗(yàn)位
設(shè)置停止位為1位
設(shè)置沒(méi)有流控制
以可讀寫(xiě)的方式打開(kāi)串口
設(shè)置完這些就能進(jìn)行讀寫(xiě)操作了。如果遇到不理解的地方,可以選擇QT的類(lèi)或函數(shù),然后按F1查閱手冊(cè)。舉個(gè)例子,如果我們想查看QSerialPort的其它的屬性,可以選擇QSerialPort的類(lèi)名或成員函數(shù),然后按F1。
二 讀取數(shù)據(jù)
串口在收到數(shù)據(jù)后,會(huì)將數(shù)據(jù)存入接收緩沖區(qū)。此時(shí),我們可以通過(guò)readAll()函數(shù)將接收緩沖區(qū)的數(shù)據(jù)讀出來(lái)。當(dāng)串口的接收緩沖區(qū)有數(shù)據(jù)時(shí),QSerilaPort對(duì)象會(huì)發(fā)出一個(gè)readyRead()的信號(hào)。因此,我們可以編寫(xiě)一個(gè)槽函數(shù)來(lái)讀數(shù)據(jù),例如:
三 發(fā)送數(shù)據(jù)
使用write函數(shù)便可以把字節(jié)數(shù)組中的字節(jié)發(fā)送出去。
四 關(guān)閉串口
串口不用時(shí),可通過(guò)close()函數(shù)將其關(guān)閉。
接下來(lái)是一個(gè)實(shí)例
1、創(chuàng)建一個(gè)新的Widgets Appliaction工程
2、使用QtCreator的ui文件來(lái)設(shè)計(jì)上位機(jī)的界面,設(shè)計(jì)如下:
3、mainwindow.h文件內(nèi)容如下:
4、mainwindow.cpp文件內(nèi)容如下:
5、main.cpp文件內(nèi)容如下:
6、測(cè)試(將USB轉(zhuǎn)TTL模塊發(fā)送和接收引腳短接,自己發(fā)自己收)
審核編輯:劉清
-
USB接口
+關(guān)注
關(guān)注
9文章
707瀏覽量
57025 -
串口通信
+關(guān)注
關(guān)注
34文章
1640瀏覽量
56831 -
上位機(jī)
+關(guān)注
關(guān)注
27文章
967瀏覽量
55803 -
TTL模塊
+關(guān)注
關(guān)注
0文章
4瀏覽量
2468
原文標(biāo)題:干貨分享 | QT5串口編程——編寫(xiě)簡(jiǎn)單的上位機(jī)
文章出處:【微信號(hào):你身邊的機(jī)器人專(zhuān)家,微信公眾號(hào):你身邊的機(jī)器人專(zhuān)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
QT串口通信的簡(jiǎn)單使用

怎樣使用Qt去編寫(xiě)一個(gè)簡(jiǎn)單的上位機(jī)呢
Qt5 學(xué)習(xí)之路及嵌入式開(kāi)發(fā)教程14:Qt5主窗口---界面設(shè)置

基于RS232串口實(shí)現(xiàn)PIC單片機(jī)下位機(jī)與QT上位機(jī)通信

STM32串口通訊

基于QT的簡(jiǎn)單的上位機(jī)

手把手教你編寫(xiě)一個(gè)上位機(jī)

QT|編寫(xiě)一個(gè)簡(jiǎn)單的上位機(jī)

QT實(shí)現(xiàn)簡(jiǎn)單的上位機(jī)軟件

QT串口數(shù)據(jù)接收上位機(jī)

qt stm32串口示例以及l(fā)ed上位機(jī)

QT5串口編程——編寫(xiě)簡(jiǎn)單的上位機(jī)

Qt5實(shí)現(xiàn)上位機(jī)與串口通信

評(píng)論