Qtのシリアルポート(RS232C)にライトした後、接続先のシリアルポートに電文がしばらくの間送出されず
しばらくたってから(1-2秒後)に送出されるという現象に悩んでいます
ヘッダでQSerialPort port;を定義 iret = port.write(data, len); if(iret >= 0){ port.waitForBytesWritten (0); port.flush(); qDebug() << "成功"; }else{ qDebug() << "失敗:" << port.errorString(); }
と言うところで確実にQtのシリアルポートのライト関数には書き込めているのですが
送信先の機器に電文が届かず、
上記のロジックを複数回実行しある程度バッファがたまったところで、一気に送信してるような動作をしています
毎回そうなるわけでも無く、
1回のwriteの実行で即座に送信することの方が多いのですが、たまに溜め込んでしまうような動きをしています
相手側の機器をPCのシミュレーターにしても同じ動作をするので送信側なのは間違いないようなのですが
Qtでシリアルポートにライトした電文をフラッシュするには上記の方法以外に何かあるのでしょうか
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。