Qt QSerialPort数据发送和接收DataComm
Qt 框架的Qt Serial Port 模块提供了访问串口的基本功能,包括串口通信参数配置和数据读写,使用 Qt Serial Port 模块就可以很方便地编写具有串口通信功能的应用程序。
- 创建一个基于
QMainWindow
应用程序
2.添加 Qt Serial Port 模块
Qt Serial Port 模块用于串口通信编程,要在一个项目中使用 Qt Serial Port 模块,需要在项目配置文件中加入一行语句:QT += serialport
Qt Serial Port 模块中只包含有两个类:QSerialPortInfo
和 QSerialPort
。
3.实例源码
头文件datacomm.h
#ifndef DATACOMM_H
#define DATACOMM_H
#include <QMainWindow>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QTimer>
QT_BEGIN_NAMESPACE
namespace Ui {
class DataComm;
}
QT_END_NAMESPACE
class DataComm : public QMainWindow
{
Q_OBJECT
public:
DataComm(QWidget *parent = nullptr);
~DataComm();
private slots:
void clear_recv();
void clear_send();
void on_com_recv();
void on_com_send();
void on_com_open();
void on_com_changed(int index);
void on_timeout();
void on_check_state_changed(int);
void get_interval();
private:
void send();
Ui::DataComm *ui;
QSerialPort comPort;
bool bCircle;
int interval;
QTimer *timer;
QByteArray stdCmd;
QString strCmd;
};
#endif // DATACOMM_H
源文件datacomm.cpp
#include "datacomm.h"
#include "ui_datacomm.h"
#include <QMessageBox>
DataComm::DataComm(QWidget *parent)
: QMainWindow(parent)
, ui(ne