QT之串口通信

1、需要在pro文件中加入:

      QT += serialport

2、串口具体使用
//查找可用的串口
QList<QSerialPortInfo> localAvailablePorts = QSerialPortInfo::availablePorts();

serial = new QSerialPort;//创建串口通信类
serial->setPortName(ui->PortBox->currentText());//设置串口名
serial->open(QIODevice::ReadWrite);//打开串口
serial->setBaudRate(ui->BaudBox->currentText().toInt());//设置波特率
switch(ui->BitNumBox->currentIndex()){//设置数据位数
case 5:
    serial->setDataBits(QSerialPort::Data5);
    break;
case 6:
    serial->setDataBits(QSerialPort::Data6);
    break;
case 7:
    serial->setDataBits(QSerialPort::Data7);
    break;
case 8:
    serial->setDataBits(QSerialPort::Data8);
    break;
default:
    serial->setDataBits(QSerialPort::Data8);
    break;
}
switch(ui->ParityBox->currentIndex()){//设置奇偶校验
case 0:
    serial->setParity(QSerialPort::NoParity);
    break;
case 1:
    serial->setParity(QSerialPort::OddParity);
    break;
case 2:
    serial->setParity(QSerialPort::EvenParity);
    break;
default:
    serial->setParity(QSerialPort::NoParity);
    break;
}
switch(ui->StopBox->currentIndex()){//设置停止位
case 1:
    serial->setStopBits(QSerialPort::OneStop);
    break;
case 2:
    serial->setStopBits(QSerialPort::TwoStop);
    break;
default:
    serial->setStopBits(QSerialPort::OneStop);
    break;
}
serial->setFlowControl(QSerialPort::NoFlowControl);//设置流控制

QObject::connect(serial,&QSerialPort::readyRead,this,&MainWindow::Read_Data);//读取回调
//读取串口数据
QByteArray buf = serial->readAll();

//写入串口数据
serial->write(buf);

//清理缓存数据
serial->clear();
//关闭串口
serial->close();

3、具体例程:

https://github.com/fox-wangguodong/QtSerialPort

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值