您的位置:主页 > 365足球官方网站 > 正文

QT5串口通讯

来源:365bet体育直播  365bet亚洲真人
串行通信非常常见于QT5之前的集成开发团队,他们需要使用QT5之前的第三方串行软件包代码,但QT5已经附带了一个类来完成其工作你是
代码如下:
将// QT + = serialport //添加到[code]文件中。亲#includeQtSerialPort / QSerialPort#includeQtSerialPort / QSerialPortInfo //初始化[代码]my_serialport-setPortName(ComName)。my_serialport-setBaudRate(9600); myesta(QSerialPort:data 8)。my_serialport-setParity(QSerialPort:NoParity); my_serialport-setStopBits(QSerialPort:一站式); my_serialport-setFlowControl(QSerialPort:NoFlowControl);
cpp #include“widget。
H“#includeQApplicationintmain(intargc,字符* argv的[]){QApplicationa(的argc,argv的);插件;瓦特
show();返回
Widget exec();}。
hwidget
CPP#ifndefWIDGET_H#defineWIDGET_H#includeQWidget#includeQtSerialPort / QSerialPort#includeQtSerialPort / QSerialPortInfo#includeQTimernamespaceUi{classWidget;}classWidget:?publicQWidget{Q_OBJECTpublic:explicitWidget(QWidget的)*母体= 0)插件(); privateslots:voidon_pushButton_cmopen_clicked(); voidupdateAA(); voidon_pushButton_send_clicked();私人:界面:插件* UI; QSerialPort * my_serialport; QByteArrayrequestData; QTimer *计时器;};#ENDIF // WIDGET_H# “” 包括窗口小部件。
h ui_widget“#include”
#includeQtSerialPort / QSerialPort#includeQtSerialPort / QSerialPortInfo#includeQDebug#includeQTimerWidget:窗口小部件(QWidget的*父):QWidget的(母体),用户界面(newUi:窗口小部件){UI-setupUi(本);的foreach(constQSerialPortInfoortInfoInfoService)availablePorts()){qDebug()“名称:”信息。
portName(); qDebug()“描述:”信息。
Description(); qDebug()“制造商”信息。
Manufacturer(); // ExampleuseQSerialPortQSerialPortserial; Serial
setPort(信息),是(序列)。
open(QIODevice:read / write)){ui-combobox addItem(information)
PORTNAME());串行
?窗口小部件:窗口小部件(){deleteui;}voidWidget:on_pushButton_cmopen_clicked(){my_serialport = newQSerialPort();}关闭();}}}qDebug()UI的组合框-currentText(); my_serialport-setPortName(UI-组合框-currentText()); My_serialport-open(QIODevice:ReadWrite); qDebug()ui-LineEdit text()。
Toint(); my_serialport-setBaudRate(ui-Line edit text())
toInt()); my_serialport-setDataBits(QSerialPort:DATA8); my_serialport-setParity(QSerialPort:无奇偶校验);计时器,SE?AL(超时()),对此,SLOT(updateAA());启动定时器(1000);}voidWidget:updateAA(){=的RequestData my_serialport-readAll(),是(!的RequestData)
= NULL){ui-textEdit-append(RequestData);}RequestData。
void Widget:on_pushButton_send_clicked(){QByteArrayTxData =“aaaa”; my_serialport-writing(TxData);}
免责声明:本文仅代表文章作者的个人观点,与本网站无关。
在其原创性,可信性以及在没有网站和内容的情况下,文本的全部或部分内容可信度,完整性和原创性是没有任何保证或承诺的,因此读者仅供参考请检查与您相关的内容。



365bet官方贴吧