QT c++不止一次打开串口

Posted

技术标签:

【中文标题】QT c++不止一次打开串口【英文标题】:QT c++ open Serial port more than once 【发布时间】:2017-09-12 13:46:27 【问题描述】:

我搜索了一个在qt中打开多个串口的例子。

我从其他类转发的开放端口功能设置

void MainWindow::openSerialPort()
    SettingsDialog::Settings p = settings->settings();
    serial->setPortName(p.name);
    serial->setBaudRate(QSerialPort::Baud9600);
    serial->setDataBits(QSerialPort::Data8);
    serial->setParity(QSerialPort::NoParity);
    serial->setStopBits(QSerialPort::OneStop);
    serial->setFlowControl(QSerialPort::NoFlowControl);

if (serial->open(QIODevice::ReadWrite))  
    ui->connectAction->setEnabled(false);
    ui->disconnectAction->setEnabled(true);
    ui->settingsAction->setEnabled(false);
    showStatusMessage(tr("Connected to %1 : OK")
                      .arg(p.name));
 else  //gdy sie nie udalo error
    QMessageBox::critical(this, tr("Error"), serial->errorString());

    showStatusMessage(tr("Open error"));


【问题讨论】:

【参考方案1】:

据我所知,如果打开 QSerialPort 的单个实例,它会以独占方式打开,因此没有其他实例可以访问此端口。我想创建其他 QSP 并打开其他端口可以做到这一点。

【讨论】:

以上是关于QT c++不止一次打开串口的主要内容,如果未能解决你的问题,请参考以下文章

qt 串口未打开

基于QT的串口助手

如何利用C语言,C++语言打开USB串口,然後对其发送信号? 跪求回答! 可行比加分!!

如何在QT中读取串口数据

做了了简易的串口收发数据界面,用LabVIEW做的,每次打开程序就运行了,但是第一次发

Qt入门教程硬件编程QSerialPort串口对象