目录
1、ComServices.h代码如下:
#pragma once
#include <QObject>
#include <QSerialPort>
#include <QSerialPortInfo>
class ComServices : public QObject
{
Q_OBJECT
public:
explicit ComServices(QObject* = nullptr);
virtual ~ComServices(void);
public slots:
// 打开串口
bool Open(const QString&, const int);
// 关闭串口
void Close(void);
// 接收数据
void ReceviceData(void);
// 发送数据
void SendData(QByteArray);
signals:
// 发送串口数据
void UpdateData(QByteArray);
private:
QSerialPort* mSerialPort;
};
2、ComServices.cpp代码如下:
#include "ComServices.h"
ComServices::ComServices(QObject* parent)
: QObject(parent)
{
mSerialPort = nullptr;
}
ComServices::~ComServices(void)
{
if (nullptr != mSerialPort)
{
if (mSerialPort->isOpen())
{
mSerialPort->clear();
mSerialPort->close();
mSerialPort->deleteLater();
}
// delete mSerialPort;
mSerialPort = nullptr;
}
}
bool ComServices::Open(const QString& strPortName, const int nBaudRate)
{
if (strPortName.isEmpty())
{
return false;
}
if (1200 > nBaudRate || 115200 < nBaudRate)
{
return false;
}
mSerialPort = new QSerialPort;
connect(mSerialPort, &QSerialPort::readyRead, this