中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Qt5 SerialPort下面代碼的關鍵兩個地方

發布時間:2020-06-30 20:53:42 來源:網絡 閱讀:1813 作者:WZM3558862 欄目:開發技術

 Qt5 SerialPort下面代碼的關鍵兩個地方,就是讀和寫兩個位置,因為串口是不穩定的,所以必須以這種方式來收發。

[cpp] view plain copy Qt5 SerialPort下面代碼的關鍵兩個地方Qt5 SerialPort下面代碼的關鍵兩個地方

  1. #include "stdafx.h"  

  2. #include "serialporttesttool.h"  

  3.   

  4. SerialPortTestTool::SerialPortTestTool(QWidget *parent)  

  5.     : QMainWindow(parent)  

  6. {  

  7.     ui.setupUi(this);  

  8.     sp = new QSerialPort("com4",this);  

  9.     if (sp->open(QIODevice::ReadWrite))  

  10.     {  

  11.         sp->setBaudRate(QSerialPort::Baud115200,QSerialPort::AllDirections);  

  12.         sp->setDataBits(QSerialPort::Data8);  

  13.         sp->setStopBits(QSerialPort::OneStop);  

  14.         sp->setParity(QSerialPort::NoParity);  

  15.         sp->setFlowControl(QSerialPort::NoFlowControl);  

  16.         //connect(sp,SIGNAL(readyRead()),this,SLOT(serialRead()));  

  17.     }  

  18. }  

  19.   

  20. SerialPortTestTool::~SerialPortTestTool()  

  21. {  

  22.     sp->close();  

  23.     delete sp;  

  24. }  

  25.   

  26. void SerialPortTestTool::on_lineEdit_returnPressed()  

  27. {  

  28.     QByteArray command = ui.lineEdit->text().trimmed().toLocal8Bit() + "\r\n";  

  29.     sp->write(command,command.length());  

  30.     ui.lineEdit->setText("");  

  31.     if (sp->waitForBytesWritten(2000))  

  32.     {  

  33.         ui.textEdit->append("ok");  

  34.     }  

  35.     else  

  36.     {  

  37.         ui.textEdit->append("failed");  

  38.     }  

  39. }  

  40. void SerialPortTestTool::serialRead()  

  41. {  

  42.     static QByteArray allData;  

  43.     QByteArray dataTemp;  

  44.     while (!sp->atEnd())  

  45.     {  

  46.         dataTemp = sp->readLine();  

  47.         ui.textEdit->append(QString::fromLatin1(dataTemp));  

  48.     }  

  49. }  

  50.   

  51. void SerialPortTestTool::on_pushButton_clicked()  

  52. {  

  53.     QByteArray temp = sp->readAll();  

  54.     while (sp->waitForReadyRead(10))  

  55.     {  

  56.         temp += sp->readAll();  

  57.     }  

  58.   

  59.     ui.textEdit->append(QString::fromLatin1(temp));  

  60.   

  61. }  

Qt5 SerialPort下面代碼的關鍵兩個地方



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt t5
AI

南开区| 额济纳旗| 和龙市| 边坝县| 马尔康县| 徐闻县| 朝阳市| 大悟县| 古蔺县| 敦化市| 仙居县| 上犹县| 五常市| 墨竹工卡县| 嘉荫县| 黔南| 康保县| 呼图壁县| 丰顺县| 壶关县| 乌拉特中旗| 吴桥县| 双江| 延吉市| 托里县| 胶南市| 永平县| 巴林左旗| 揭西县| 日喀则市| 任丘市| 云霄县| 浦县| 章丘市| 池州市| 分宜县| 江西省| 双辽市| 大安市| 怀宁县| 淳安县|