最近在搞串口通信,记录一下:
配置:
1.首先将Qt5SerialPort.lib的库引入,其位置在qt的安装路径下的lib中可以找到
2.加入头文件
#include <QtSerialPort/qserialport.h>
#include <QtSerialPort/qserialportinfo.h>
3.打开串口
//打开串口
void demo::OpenCom()
{
serialIo->setPortName(“COM3”); //串口名
if (serialIo->open(QIODevice::ReadWrite))
{
qint32 baudrate = 9600;
serialIo->setBaudRate(baudrate);//波特率
serialIo->setDataBits(QSerialPort::Data8); //数据位
serialIo->setParity(QSerialPort::NoParity); //校验位
serialIo->setStopBits(QSerialPort::OneStop);//停止位
serialIo->setFlowControl(QSerialPort::NoFlowControl);
}
}
4.串口发送数据通信
//发送接收数据
void demo::SendData()
{
QString sendstr = ui.plainTextEdit_send->toPlainText();
QByteArray bytes;
bytes = QByteArray::fromHex(sendstr.toLatin1());
serialIo->write(bytes);//数据发送
serialIo->waitForReadyRead(100);//延迟一定要有,不然接收不到数据
QByteArray byteArray = serialIo->readAll().toHex();
QString temp = QString(byteArray);
bool ok;
int dec = temp.toInt(&ok, 16);//十六进制转十进制
}
5.串口关闭
serialIo->clear();
serialIo->close();
来源:CSDN
作者:天涯凯凯
链接:https://blog.csdn.net/qq_28235867/article/details/104407006