原创

QSerialPort处理串口通信简单示例

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://shazhenyu.blog.csdn.net/article/details/71195263
串口通信需要添加Qt相关库:

QT += serialport

大概是这样的。首先可以利用QSerialPortInfo读取设备相关信息,然后我们用容器把他们装起来,再利用QSerialPort与端口进行输入输出交互。


读取设备信息时,可以这样做:

foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
        qDebug() << "Name : " << info.portName();
        qDebug() << "Description : " << info.description();
        qDebug() << "Manufacturer: " << info.manufacturer();
        qDebug() << "Serial Number: " << info.serialNumber();
        qDebug() << "System Location: " << info.systemLocation();
}


在设置端口时,可以这样做:

m_serialport= new QSerialPort();    

//设置COM口

m_serialport->setPortName(ui->comboBox->currentText());

//设置波特率和读写方向

m_serialport->setBaudRate(QSerialPort::Baud9600,QSerialPort::AllDirections);

//数据位为8位

m_serialport->setDataBits(QSerialPort::Data8);

//无流控制

m_serialport->setFlowControl(QSerialPort::NoFlowControl);

//无校验位

m_serialport->setParity(QSerialPort::NoParity);

//一位停止位

m_serialport->setStopBits(QSerialPort::OneStop);

//先关串口,再打开,可以保证串口不被其它函数占用。

m_serialport->close();

//以可读写的方式打开串口

if(m_serialport->open(QIODevice::ReadWrite))

{

//读取数据  串口读取出来的数据类型 是QByteArray 不是QString

 m_requestData = m_serialport->readAll();

}


示例代码已上传CSDN:http://download.csdn.net/detail/u014597198/9834104

文章最后发布于: 2017-05-05 14:01:18
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览