0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

QT5串口編程—編寫簡單的上位機(jī)

jf_kBxdsOIg ? 來源:指南車機(jī)器人科技 ? 2023-09-19 15:11 ? 次閱讀

下面開始介紹串口類的使用。

首先,QT5是自帶QSerialPort這個(gè)類的,使用時(shí)需要在pro文件里面添加一行:

c7a2900e-56ba-11ee-939d-92fbcf53809c.png

然后直接引用頭文件就可以了。

c7af92e0-56ba-11ee-939d-92fbcf53809c.png

在QT5中,串口通信是借助一個(gè)QSerialPort的對象來實(shí)現(xiàn)的,在設(shè)置QSerialPort對象對串口的名稱、波特率、數(shù)據(jù)位、校驗(yàn)位、停止位等參數(shù)后,方能對串口進(jìn)行讀寫。

下面,我總結(jié)了一下借助QSerailPort對串口進(jìn)行設(shè)置、打開、讀、寫和關(guān)閉的過程。

設(shè)置和打開串口

c7bb2150-56ba-11ee-939d-92fbcf53809c.png

以上代碼是QSerialPort對象的設(shè)置示例,作用是:

設(shè)置串口名為 COM3

設(shè)置波特率為9600

設(shè)置數(shù)據(jù)位為8位

設(shè)置沒有奇偶校驗(yàn)位

設(shè)置停止位為1位

設(shè)置沒有流控制

以可讀寫的方式打開串口

設(shè)置完這些就能進(jìn)行讀寫操作了。如果遇到不理解的地方,可以選擇QT的類或函數(shù),然后按F1查閱手冊。舉個(gè)例子,如果我們想查看QSerialPort的其它的屬性,可以選擇QSerialPort的類名或成員函數(shù),然后按F1。

二 讀取數(shù)據(jù)

c7c34894-56ba-11ee-939d-92fbcf53809c.png

串口在收到數(shù)據(jù)后,會將數(shù)據(jù)存入接收緩沖區(qū)。此時(shí),我們可以通過readAll()函數(shù)將接收緩沖區(qū)的數(shù)據(jù)讀出來。當(dāng)串口的接收緩沖區(qū)有數(shù)據(jù)時(shí),QSerilaPort對象會發(fā)出一個(gè)readyRead()的信號。因此,我們可以編寫一個(gè)槽函數(shù)來讀數(shù)據(jù),例如:

c7d031b2-56ba-11ee-939d-92fbcf53809c.png

三 發(fā)送數(shù)據(jù)

c7d71482-56ba-11ee-939d-92fbcf53809c.png

使用write函數(shù)便可以把字節(jié)數(shù)組中的字節(jié)發(fā)送出去。

四 關(guān)閉串口

c7e6c0a8-56ba-11ee-939d-92fbcf53809c.png

串口不用時(shí),可通過close()函數(shù)將其關(guān)閉。

接下來是一個(gè)實(shí)例

1、創(chuàng)建一個(gè)新的Widgets Appliaction工程

2、使用QtCreator的ui文件來設(shè)計(jì)上位機(jī)的界面,設(shè)計(jì)如下:

c7f5fd5c-56ba-11ee-939d-92fbcf53809c.png

3、mainwindow.h文件內(nèi)容如下:

c7ff631a-56ba-11ee-939d-92fbcf53809c.png

c80ba634-56ba-11ee-939d-92fbcf53809c.png

4、mainwindow.cpp文件內(nèi)容如下:

c8179930-56ba-11ee-939d-92fbcf53809c.png

c827fc4e-56ba-11ee-939d-92fbcf53809c.png

c831a316-56ba-11ee-939d-92fbcf53809c.png

c83de982-56ba-11ee-939d-92fbcf53809c.png

5、main.cpp文件內(nèi)容如下:

c846c0b6-56ba-11ee-939d-92fbcf53809c.png

6、測試(將USB轉(zhuǎn)TTL模塊發(fā)送和接收引腳短接,自己發(fā)自己收)

c84edab2-56ba-11ee-939d-92fbcf53809c.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • USB接口
    +關(guān)注

    關(guān)注

    9

    文章

    697

    瀏覽量

    55497
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1605

    瀏覽量

    55326
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    928

    瀏覽量

    54659
  • TTL模塊
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    2352

原文標(biāo)題:干貨分享 | QT5串口編程——編寫簡單的上位機(jī)

文章出處:【微信號:你身邊的機(jī)器人專家,微信公眾號:你身邊的機(jī)器人專家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    QT串口通信的簡單使用

    QT串口通信是上位機(jī)和下位機(jī)通信常用的通信方式, 也是學(xué)習(xí)QT必須學(xué)會的基礎(chǔ)知識, 這篇就
    的頭像 發(fā)表于 01-15 09:27 ?1663次閱讀
    <b class='flag-5'>QT</b><b class='flag-5'>串口</b>通信的<b class='flag-5'>簡單</b>使用

    怎樣使用Qt編寫一個(gè)簡單上位機(jī)

    怎樣使用Qt編寫一個(gè)簡單上位機(jī)呢?有哪些步驟?
    發(fā)表于 03-02 06:07

    qt編寫的觸摸小鍵盤

    使用qt5編寫qt程序小鍵盤,對于qLineedit的重寫
    發(fā)表于 03-03 15:06 ?7次下載

    Qt5 學(xué)習(xí)之路及嵌入式開發(fā)教程14:Qt5主窗口---界面設(shè)置

    Qt5 學(xué)習(xí)之路及嵌入式開發(fā)教程14:Qt5主窗口---界面設(shè)置這次任務(wù)要完成Qt5主窗口的界面設(shè)計(jì)Qt5主窗口布局及基本元素基本元素QMainWindow是一個(gè)為用戶提供主窗口程序的
    發(fā)表于 11-03 09:51 ?12次下載
    <b class='flag-5'>Qt5</b> 學(xué)習(xí)之路及嵌入式開發(fā)教程14:<b class='flag-5'>Qt5</b>主窗口---界面設(shè)置

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

    基于RS232串口實(shí)現(xiàn)PIC單片機(jī)下位機(jī)QT上位機(jī)通信
    發(fā)表于 11-16 12:21 ?21次下載
    基于RS232<b class='flag-5'>串口</b>實(shí)現(xiàn)PIC單片<b class='flag-5'>機(jī)</b>下位<b class='flag-5'>機(jī)</b>與<b class='flag-5'>QT</b><b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>通信

    STM32串口通訊

    :KEIL5 MDK③ 實(shí)驗(yàn)所用串口:USART1硬件原理圖:這里 CH340G芯片 的作用是將電腦的USB電平轉(zhuǎn)換為串口的TTL電平。2、實(shí)驗(yàn)要求STM32系統(tǒng)給上位
    發(fā)表于 12-06 20:21 ?13次下載
    STM32<b class='flag-5'>串口</b>通訊

    基于QT簡單上位機(jī)

    。同樣的,我們也從編寫一個(gè)簡單的基于QT上位機(jī)來體會體會上位
    發(fā)表于 05-08 10:57 ?16次下載
    基于<b class='flag-5'>QT</b>的<b class='flag-5'>簡單</b>的<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

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

    本次來教大家編寫一個(gè)基于QT簡單上位機(jī)。 學(xué)習(xí)一個(gè)新的東西我們都從最基礎(chǔ)地實(shí)例開始,比如學(xué)習(xí)C語言我們會從
    發(fā)表于 05-08 10:36 ?1次下載
    手把手教你<b class='flag-5'>編寫</b>一個(gè)<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

    QTQT上位機(jī)串口編程

    QTQT上位機(jī)串口編程 最近因?yàn)轫?xiàng)目需要,需要用到上位
    發(fā)表于 05-08 10:02 ?25次下載
    <b class='flag-5'>QT</b>篇<b class='flag-5'>QT</b><b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b><b class='flag-5'>串口</b><b class='flag-5'>編程</b>

    QT|編寫一個(gè)簡單上位機(jī)

    QT | 編寫一個(gè)簡單上位機(jī) 時(shí)間 :2023-03-19文章目錄QT |
    發(fā)表于 05-08 10:12 ?3次下載
    <b class='flag-5'>QT</b>|<b class='flag-5'>編寫</b>一個(gè)<b class='flag-5'>簡單</b>的<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

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

    最近項(xiàng)目要求寫上位機(jī)軟件,需要實(shí)現(xiàn)界面功能和串口讀寫。界面方面用過MFC(早忘記了),網(wǎng)上查閱資料后發(fā)現(xiàn)QT在5.1版本后有自帶的串口模塊,
    發(fā)表于 05-08 09:54 ?4次下載
    <b class='flag-5'>QT</b>實(shí)現(xiàn)<b class='flag-5'>簡單</b>的<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>軟件

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

    QT串口數(shù)據(jù)接收上位機(jī)1.界面設(shè)計(jì) 2.串口配置 3.文件讀寫 4.使用QT遇到的一些問題
    發(fā)表于 05-09 14:26 ?2次下載
    <b class='flag-5'>QT</b><b class='flag-5'>串口</b>數(shù)據(jù)接收<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

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

    今天研究了半天終于把stm32的串口能搞出來了,然后順便寫了一個(gè)qt上位機(jī)來控制小燈效果就是如下:qt
    發(fā)表于 05-10 15:03 ?11次下載
    <b class='flag-5'>qt</b> stm32<b class='flag-5'>串口</b>示例以及l(fā)ed<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

    QT5串口編程——編寫簡單上位機(jī)

    下面開始介紹串口類的使用。 首先,QT5是自帶QSerialPort這個(gè)類的,使用時(shí)需要在pro文件里面添加一行: ?然后直接引用頭文件就可以了。 ?在QT5中,串口通信是借助一個(gè)
    發(fā)表于 05-10 14:28 ?0次下載
    <b class='flag-5'>QT5</b><b class='flag-5'>串口</b><b class='flag-5'>編程</b>——<b class='flag-5'>編寫</b><b class='flag-5'>簡單</b>的<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>

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

    Qt助手內(nèi)搜索:Qt Serial Port為串口的相關(guān)函數(shù)? 1.添加串口頭文件: # include //使用串口功能# inc
    發(fā)表于 05-10 10:46 ?0次下載
    <b class='flag-5'>Qt5</b>實(shí)現(xiàn)<b class='flag-5'>上位</b><b class='flag-5'>機(jī)</b>與<b class='flag-5'>串口</b>通信