qt串口通信(vs版本)

走远了吗. 提交于 2020-02-21 07:17:19

最近在搞串口通信,记录一下:
配置:
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();

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!