无法使用 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
我正在尝试编写一个能够使用串行端口与我的嵌入式系统通信的 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