QSerialPort处理串口通信简单示例

串口通信需要添加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

展开阅读全文
©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值