シリアル デバイスがさらにデータを受信する準備ができたときに通知を受ける方法はありますか?
QSerialPortの非同期API を使用して、シリアル経由でサーボ コントローラーにコマンドを供給するプログラムを実装しています。プログラムは動作しますが、輻輳が発生しているようです。
私のアプリケーションでは、可能な限り低遅延でコントローラーと同期したい最新のサーボ位置のレジストリを保持しています。新しいデータをできるだけ早くシリアル ポートにプッシュしようとすると、データが蓄積して通信が完全に途絶えてしまう可能性があります。
私の質問は、シリアル インターフェイスが非同期モードで使用QSerialPort
しているときに何らかの方法で新しいデータを受信する準備ができたときに通知を受け取ることはできますか?
私が見る唯一の他のオプションは、同期モードを使用してwaitForBytesWritten()を呼び出すことですが、私は本当にそれをしたくありません。
注: Qt5 ドキュメントのシリアル ポートの例を注意深く調べましたが、非同期書き込みの例では、終了する前にワンショット送信を実行するため、必要な情報が得られません。