偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解 Qt 串口通信程序全程圖文 (3)

移動開發(fā)
本文介紹的是Qt 串口通信程序全程圖文,以連載的形式為友們介紹,請關(guān)注末尾編輯推薦。先來看內(nèi)容。

Qt 串口通信程序全程圖文是本文要介紹的內(nèi)容,下面的程序在***部分中所寫的程序上進行了一些改進。加入打開和關(guān)閉串口,發(fā)送數(shù)據(jù)等功能。

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

“打開串口”按鈕命名為:openMyComBtn

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

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

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

界面如下圖。

Qt 串口通信程序全程圖文

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

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

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

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

更改后程序如下圖所示: 

Qt 串口通信程序全程圖文
 
這時運行程序,效果如下:

Qt 串口通信程序全程圖文

3、按上面的方法進入“關(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)閉串口后“打開串口”按鈕可用  
  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ù)寫入串口  

程序如下圖:

Qt 串口通信程序全程圖文

最終效果如下:

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

小結(jié):關(guān)于Qt 串口通信程序全程圖文的內(nèi)容本節(jié)介紹完了,希望本文對你有所幫助,關(guān)于串口的更多內(nèi)容,請關(guān)注編輯推薦。(連載)

【編輯推薦】

詳解 Qt 串口通信程序全程圖文 (1)

詳解 Qt 串口通信程序全程圖文 (2)

詳解 Qt 串口通信程序全程圖文 (4)

詳解 Qt 串口通信程序全程圖文 (5)

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

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-07-01 13:03:32

QT 線程 串口

2009-08-25 17:24:55

C#串口通信程序

2011-06-13 17:46:07

Qt 串口通信

2011-06-22 17:49:35

Linux Qt 串口

2011-06-27 11:08:37

Qt 串口 通信

2011-07-04 16:57:36

QT 布局 界面

2024-06-03 10:11:13

2011-06-22 17:27:19

QT 進程通信

2011-06-28 13:38:15

Arm linux QT

2011-06-30 10:50:39

Qt OpenCV

2024-12-24 07:38:44

C#串口通信

2011-07-04 17:26:00

Qt SQLite

2011-06-28 10:38:52

QT 文件

2011-07-05 17:54:43

QT Sqlite ARM

2010-01-13 18:17:00

VB.NET通信程序

2011-06-23 13:25:42

QT 源碼 窗口
點贊
收藏

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