成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Qt中實(shí)現(xiàn)串口通信

移動(dòng)開(kāi)發(fā)
本文內(nèi)容主要是在講在Qt中如何實(shí)現(xiàn)串口通信,文字描述不多,基本是代碼實(shí)現(xiàn)的,那么大家就看看過(guò)程吧。

本文所將內(nèi)容是在Qt中實(shí)現(xiàn)串口通信,文字描述不多,基本上是代碼實(shí)現(xiàn)。之前本人做過(guò)類(lèi)似的小程序,不過(guò)那個(gè)是基于線程的。那么接下來(lái)看看本篇文字吧!

首先,加入了“打開(kāi)串口”,“關(guān)閉串口”“傳送數(shù)據(jù)”三個(gè)按鈕,加入了一個(gè)行編輯框Line Edit。它們的命名如下:

“打開(kāi)串口”按鈕命名為:openMyComBtn

“關(guān)閉串口”按鈕命名為:closeMyComBtn

“傳送數(shù)據(jù)”按鈕命名為:sendMsgBtn

要傳送數(shù)據(jù)的行編輯框命名為:sendMsgLineEdit

界面如下圖。

Qt編寫(xiě)串口通信程序全程圖文講解

第二步,在“打開(kāi)串口”按鈕上右擊,選擇Go to slot選項(xiàng),然后選擇clicked()選項(xiàng),進(jìn)入它的單擊事件槽函數(shù)中,將上個(gè)程序中在構(gòu)造函數(shù)里寫(xiě)的語(yǔ)句全部剪切到這里。然后加入幾句按鈕的狀態(tài)設(shè)置語(yǔ)句。如下:

  1. void MainWindow::on_openMyComBtn_clicked()  
  2. {  
  3. struct PortSettings myComSetting = {BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,500};  
  4. //定義一個(gè)結(jié)構(gòu)體,用來(lái)存放串口各個(gè)參數(shù)  
  5. myCom = new Win_QextSerialPort("com1",myComSetting,QextSerialBase::EventDriven);  
  6. //定義串口對(duì)象,并傳遞參數(shù),在構(gòu)造函數(shù)里對(duì)其進(jìn)行初始化  
  7. myCom ->open(QIODevice::ReadWrite);  
  8. //以可讀寫(xiě)方式打開(kāi)串口  
  9. connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));  
  10. //信號(hào)和槽函數(shù)關(guān)聯(lián),當(dāng)串口緩沖區(qū)有數(shù)據(jù)時(shí),進(jìn)行讀串口操作  
  11. //  
  12. ui->openMyComBtn->setEnabled(false); //打開(kāi)串口后“打開(kāi)串口”按鈕不可用  
  13. ui->closeMyComBtn->setEnabled(true); //打開(kāi)串口后“關(guān)閉串口”按鈕可用  
  14. ui->sendMsgBtn->setEnabled(true); //打開(kāi)串口后“發(fā)送數(shù)據(jù)”按鈕可用  

然后在構(gòu)造函數(shù)里也添加幾句按鈕初始狀態(tài)設(shè)置語(yǔ)句,如下:

  1. MainWindow::MainWindow(QWidget *parent)  
  2. : QMainWindow(parent), ui(new Ui::MainWindow)  
  3. {  
  4. ui->setupUi(this);  
  5. ui->closeMyComBtn->setEnabled(false); //開(kāi)始“關(guān)閉串口”按鈕不可用  
  6. ui->sendMsgBtn->setEnabled(false); //開(kāi)始“發(fā)送數(shù)據(jù)”按鈕不可用  

更改后程序如下圖所示:

Qt編寫(xiě)串口通信程序全程圖文講解

這時(shí)運(yùn)行程序,效果如下:

Qt編寫(xiě)串口通信程序全程圖文講解

第三步,按上面的方法進(jìn)入“關(guān)閉串口”按鈕和“發(fā)送數(shù)據(jù)”按鈕的單擊事件的槽函數(shù),更改如下。

  1. void MainWindow::on_closeMyComBtn_clicked()      //關(guān)閉串口槽函數(shù)  
  2. {  
  3. myCom->close();     //關(guān)閉串口,該函數(shù)在win_qextserialport.cpp文件中定義  
  4. ui->openMyComBtn->setEnabled(true); //關(guān)閉串口后“打開(kāi)串口”按鈕可用  
  5. ui->closeMyComBtn->setEnabled(false); //關(guān)閉串口后“關(guān)閉串口”按鈕不可用  
  6. ui->sendMsgBtn->setEnabled(false); //關(guān)閉串口后“發(fā)送數(shù)據(jù)”按鈕不可用  
  7. }  
  8. void MainWindow::on_sendMsgBtn_clicked()       //發(fā)送數(shù)據(jù)槽函數(shù)  
  9. {  
  10. myCom->write(ui->sendMsgLineEdit->text().toAscii());      
  11. //以ASCII碼形式將行編輯框中的數(shù)據(jù)寫(xiě)入串口  

Qt編寫(xiě)串口通信程序全程圖文講解

最終效果如下:

Qt編寫(xiě)串口通信程序全程圖文講解

(將數(shù)據(jù)x發(fā)送給單片機(jī),單片機(jī)返回you send message is : x)

小結(jié):關(guān)于在Qt中實(shí)現(xiàn)串口通信的內(nèi)容就說(shuō)這么多由于之前做過(guò)類(lèi)似的小程序,所以比較感興趣,希望你能用到呢這方面的知識(shí)。

【編輯推薦】

Qt 中Socket編程實(shí)例

解析 QT 靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)

Qt 平臺(tái)中使GUI保持響應(yīng)流暢

QT中關(guān)于信號(hào)與槽機(jī)制的實(shí)現(xiàn)原理

QTP的Action間的信息共享的4種方法

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-27 11:08:37

Qt 串口 通信

2011-06-22 17:49:35

Linux Qt 串口

2011-06-29 14:23:08

Qt 串口

2011-06-29 14:42:06

Qt 串口

2011-06-29 14:32:25

Qt 串口

2011-06-29 13:50:15

Qt 串口

2011-06-29 14:06:15

Qt 串口

2011-06-30 17:51:17

QT 元類(lèi)型 線程

2011-06-22 17:36:50

QT Linux 串口

2024-06-03 10:11:13

2021-05-29 16:12:00

通信協(xié)議設(shè)備

2025-06-16 07:30:00

WinForm串口通信開(kāi)發(fā)

2024-12-24 07:38:44

C#串口通信

2024-01-03 10:17:51

Linux通信

2021-01-18 05:30:22

串口通信Qt

2011-07-01 13:03:32

QT 線程 串口

2011-06-13 15:57:26

linux QT QTOPIA

2018-03-29 06:55:12

物聯(lián)網(wǎng)串口通信技術(shù)

2011-07-11 14:19:54

JAVA串口通信

2011-07-11 14:12:19

Java串口通信
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区在线 | 国产重口老太伦 | 国产极品车模吞精高潮呻吟 | 91青娱乐在线 | 久久久久久久久久久久一区二区 | 91青青草视频 | 国产日韩精品一区二区 | 欧美日韩在线一区二区 | 国产你懂的在线观看 | 久久婷婷国产 | www.日韩 | 在线观看视频一区二区三区 | 亚洲美女网站 | 97国产爽爽爽久久久 | 国产精品一区二区三区四区五区 | 亚洲精品乱码久久久久久蜜桃91 | 中文字幕一区二区三区乱码在线 | www.一区二区三区 | 一本岛道一二三不卡区 | 欧美 日韩 中文 | 亚洲中午字幕 | 成人高清在线 | 国产一级免费视频 | 久久大陆 | 欧美国产中文字幕 | 久久免费精品 | 欧美一区二区三区在线 | 精品日韩欧美一区二区 | 久久9999久久| 久久9999久久 | 久久久久91 | 中文字幕综合 | 欧美做暖暖视频 | 久草在线中文888 | 2018国产大陆天天弄 | 国产aⅴ爽av久久久久久久 | 毛片久久久| 久久久精品综合 | 天天成人综合网 | 91国在线观看| 日日夜夜免费精品视频 |