在Qt中,可以使用QSerialPort类进行串口通信。以下是一个简单的示例代码,演示如何使用QSerialPort类进行串口通信:
#include <QCoreApplication>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDebug>
int main(int argc, char \*argv[])
{
QCoreApplication a(argc, argv);
// 获取所有串口设备
QList<QSerialPortInfo> ports = QSerialPortInfo::availablePorts();
qDebug() << "Available ports:";
foreach (QSerialPortInfo info, ports)
{
qDebug() << " " << info.portName();
}
// 打开串口
QSerialPort serial;
serial.setPortName("COM3"); // 设置要打开的串口号
serial.open(QIODevice::ReadWrite);
// 设置串口参数
serial.setBaudRate(QSerialPort::Baud9600); // 设置波特率
serial.setDataBits(QSerialPort::Data8); // 设置数据位
serial.setParity(QSerialPort::NoParity); // 设置奇偶校验
serial.setStopBits(QSerialPort::OneStop); // 设置停止位
serial.setFlowControl(QSerialPort::NoFlowControl); // 设置流控制
// 发送数据
QByteArray data = "Hello, world!";
serial.write(data);
// 读取数据
QByteArray readData = serial.readAll();
qDebug() << "Read data:";
qDebug() << readData;
// 关闭串口
serial.close();
return a.exec();
}