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