QSerialPort类

一、简介
    QSerialPort类是Qt5封装的串口类,可以与串口进行通信。QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产品编号等。利用QSerialPortInfo提供的可用串口信息,可设置串口波特率,并打开需要的串口进行通信。
二、使用
使用时要注意,通过找到计算机可用的串口,得到后,要调用setPortName或者setPortInfo使我们实例化的串口对象与我们想使用的可用串口进行映射。此时我们就可以使用QSerialPort对象对串口进行操作了

a. 串口的初始化:

QSerialPort *serial = new QSerialPort();
QObject::connect(serial, SIGNAL(readyRead()), this, SLOT(recSerialData())); // 连接串口收到数据事件与读取数据函数       serial->setPortName("COM3");
serial->setBaudRate(QSerialPort::Baud9600);
serial->setParity(QSerialPort::NoParity);
serial->setDataBits(QSerialPort::Data8);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
if (serial->open(QIODevice::ReadWrite)) {
    qDebug()<<"open success";
} else {
    qDebug()<<"open failed";
}

b. 向串口发送数据

serial->write("test");

c. 接收串口返回的数据

void MySerial::recSerialData()
{
    QByteArray ba;
    ba = serial->readAll();
    display(ba);
}

三、总结

总的来说,使用Qt5进行串口通信是较为简单的。大致步骤为:配置串口参数->打开串口->收发数据。






原文地址:https://www.cnblogs.com/chengkeke/p/5417399.html