无法使用 QSerialPort 发送数据

Unable to send data using QSerialPort

我正在尝试编写一个能够使用串行端口与我的嵌入式系统通信的 QT 应用程序。现在我正在使用 Null Modem emulator 测试配置,因为我还没有准备好嵌入式系统。

模拟器工作正常,因为我已经在 Terterterm、RealTerm 或 Putty 等其他软件中对其进行了测试。我的问题是我的示例代码不起作用 - 它不会将字符串发送到另一个 com 端口。

这是我的代码:

void CSettingsDialog::on_pbSerialCheck_clicked()
{
    QSerialPort serial;
    serial.setPortName(ui->cbSerialPort->currentText());

    if (!serial.open(QIODevice::ReadWrite))
    {
        QMessageBox::warning(this, tr("Serial port"),
                             tr("Serial port %1 is busy!")
                            .arg(ui->cbSerialPort->currentText()));
    }
    else
    {
        serial.setBaudRate(QSerialPort::Baud115200);
        serial.setDataBits(QSerialPort::Data8);
        serial.setParity(QSerialPort::NoParity);
        serial.setStopBits(QSerialPort::OneStop);
        serial.setFlowControl(QSerialPort::NoFlowControl);
        serial.write("TEST\n");
        serial.close();
    }
}

查看 QT 示例,我确定我已正确设置所有内容。

I am certain that I have everything set correctly looking at the QT examples. I would aprichiate all help!

阅读 flush 文档时,似乎调用 "write" 缓冲区,写入可能异步完成。

另见 "Certain subclasses of...are asynchronous", with comments on waitForBytesWritten