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進行串口通信是較為簡單的。大致步驟為:配置串口參數->打開串口->收發數據。