Qt中rs422串口通信的收发数据的代码
以下是一个使用Qt进行RS422串口通信的简单示例代码:
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSerialPort serial;
// 配置串口参数
serial.setPortName("COM1");
serial.setBaudRate(QSerialPort::Baud9600);
serial.setDataBits(QSerialPort::Data8);
serial.setParity(QSerialPort::NoParity);
serial.setStopBits(QSerialPort::OneStop);
serial.setFlowControl(QSerialPort::NoFlowControl);
// 打开串口
if (serial.open(QIODevice::ReadWrite))
{
qDebug() << "串口打开成功";
// 发送数据
QByteArray sendData = "Hello World!";
qint64 bytesWritten = serial.write(sendData);
if (bytesWritten == -1)
{
qDebug() << "数据发送失败";
}
else
{
qDebug() << "已发送数据:" << sendData;
}
// 接收数据
QByteArray receivedData = serial.readAll();
qDebug() << "已接收数据:" << receivedData;
// 关闭串口
serial.close();
}
else
{
qDebug() << "串口打开失败";
}
return a.exec();
}
该代码首先使用QSerialPort类来创建一个串口对象,并设置串口参数。然后通过open()函数打开串口。如果串口打开成功,则发送数据使用write()函数,接收数据使用readAll()函数,最后关闭串口使用close()函数
原文地址: https://www.cveoy.top/t/topic/hRac 著作权归作者所有。请勿转载和采集!