突发奇想,想使用ChatGPT试试能不能写一个读写串口数据的demo,以下为测试结果:
#include <QCoreApplication>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include <QDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 获取可用串口列表QList<QSerialPortInfo> serialPortList = QSerialPortInfo::availablePorts();if(serialPortList.isEmpty()) {qDebug() << "No serial ports found.";return 1;}// 选择第一个可用串口QSerialPort serialPort(serialPortList.at(0));serialPort.setBaudRate(QSerialPort::Baud9600);serialPort.setDataBits(QSerialPort::Data8);serialPort.setParity(QSerialPort::NoParity);serialPort.setStopBits(QSerialPort::OneStop);serialPort.setFlowControl(QSerialPort::NoFlowControl);// 打开串口if(!serialPort.open(QIODevice::ReadWrite)) {qDebug() << "Failed to open serial port.";return 1;}// 读取串口数据QObject::connect(&serialPort, &QSerialPort::readyRead, [&]() {QByteArray data = serialPort.readAll();qDebug() << "Received data:" << data;});// 写入数据到串口QByteArray dataToSend = "Hello, serial port!";serialPort.write(dataToSend);return a.exec();
}
这个示例代码会打开第一个可用的串口,设置串口的参数(波特率、数据位、校验位、停止位等),然后监听串口的数据读取事件,并将读取到的数据输出到控制台。同时,它也会向串口写入一条数据。你可以根据自己的需要修改和扩展这个示例代码。