Qt的串口编程—实现串口的检测打开功能

博客用于自己记录学习。网上有很多教程,我看的是【北京迅为】嵌入式学习之QT学习篇_哔哩哔哩_bilibili

一.串口界面的制作

二.编程   实现逻辑功能

1.

5e0ce8e11f3f42dfae8a7b5ec2ac5317.png

1999e2c81e2c45a2931e71d14e5df8e5.png

a19ac18b937e4afebdb32261454d35fa.png90bbf2b8ade14ad5a82f40c3aee6cef2.png

 

2.关联信号和槽,进行初始化

5e258f0becf6435ab9b7445f851a1831.png

21645e66ff504fbba6cfbb268d768cd1.png

 /*波特率设置*/
    if(ui->botBox->currentText() == "4800")
    {
        baudRate = QSerialPort::Baud4800;
    }
    else if(ui->botBox->currentText() == "9600")
    {
        baudRate = QSerialPort::Baud9600;
    }
    else if(ui->botBox->currentText() == "115200")
    {
        baudRate = QSerialPort::Baud115200;
    }

    /*数据位设置*/
    if(ui->dataBox->currentText() == "5")
    {
        dataBits = QSerialPort::Data5;
    }
    else if(ui->dataBox->currentText() == "6")
    {
        dataBits = QSerialPort::Data6;
    }
    else if(ui->dataBox->currentText() == "7")
    {
        dataBits = QSerialPort::Data7;
    }
    else if(ui->dataBox->currentText() == "8")
    {
        dataBits = QSerialPort::Data8;
    }

    /*停止位设置*/
    if(ui->stopBox->currentText() == "1")
    {
        stopBits = QSerialPort::OneStop;
    }
    else if(ui->stopBox->currentText() == "1.5")
    {
        stopBits = QSerialPort::OneAndHalfStop;
    }
    else if(ui->stopBox->currentText() == "2")
    {
        stopBits = QSerialPort::TwoStop;
    }

    /*校验位设置*/
    if(ui->checkBox->currentText() == "none")
    {
        checkBits = QSerialPort::NoParity;
    }

    serialPort->setPortName(ui->serialBox->currentText());
    serialPort->setBaudRate(baudRate);
    serialPort->setDataBits(dataBits);
    serialPort->setStopBits(stopBits);
    serialPort->setParity(checkBits);

    if(serialPort->open(QIODevice::ReadWrite)==true)
    {
        QMessageBox::information(this,"提示","成功");
    }
    else
    {
        QMessageBox::critical(this,"提示","失败");
    }
}

void Widget::on_closeButton_2_clicked()
{
    serialPort->close();
}

效果演示

9c607214a8424922bb1fe3ff837aaf91.png

再次打开,显示失败

bfa737ebb8534fe898a2e161f301ec8e.png

点击关闭后,再次打开,提示成功。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值