gpt4 book ai didi

c++ - 如何知道 QSerialPort 何时准备好接收 Qt5 中的更多数据?

转载 作者:行者123 更新时间:2023-11-28 05:42:30 25 4
gpt4 key购买 nike

有什么方法可以在我的串行设备准备好接收更多数据时收到通知吗?

我正在实现一个程序,该程序使用 QSerialPort异步 API 通过串行向伺服 Controller 提供命令。 .该程序有效,但我似乎遇到了拥塞。

在我的应用程序中,我保留了一个最新伺服位置的注册表,我希望以尽可能低的延迟与 Controller 同步。我尝试尽快将新数据推送到串行端口,这导致我认为是数据堆积导致通信完全中断。

我的问题是,在异步模式下使用QSerialPort时,当串行接口(interface)准备好以某种方式接收新数据时,我能否得到通知?

我看到的唯一其他选择是使用同步 模式并调用 waitForBytesWritten()但我真的不想那样做。

注意:我研究了 serial port examples in the Qt5 documentation仔细,但是 example for asynchronous write没有提供我需要的信息,因为它在退出前执行一次性发送。

最佳答案

您可以收听信号 bytesWritten 并检查 bytesToWrite 以确定写入缓冲区是否为空。两者都继承自QIODevice

关于c++ - 如何知道 QSerialPort 何时准备好接收 Qt5 中的更多数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36839369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com