91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

鄂尔多斯市| 喜德县| 阿鲁科尔沁旗| 科技| 右玉县| 即墨市| 松江区| 中西区| 绿春县| 额尔古纳市| 大理市| 建阳市| 林芝县| 闵行区| 永川市| 寻甸| 乐安县| 合江县| 石泉县| 繁昌县| 金沙县| 巩留县| 昭苏县| 昌平区| 洞头县| 清流县| 松江区| 赣榆县| 徐州市| 长沙市| 永顺县| 荆门市| 盐城市| 壶关县| 乐业县| 鱼台县| 黔江区| 乌兰浩特市| 阜城县| 田东县| 抚远县|