瞬間背景qextserialportはWindows上でデータを削除します - 私はそれについて何ができますか?
、私は、センサデータを収集し、その後、115200ボーでそのUSBシリアルポートを介して送信するために使用していることをTelosB motesを持っています。
私は以前、Pythonを使ってmoteとインターフェースするプログラムを開発しましたが、PythonのGILにはPythonを使わないことでしか解決できないスレッド問題のシェアがありました(最初のテスト段階)、私はC++/Qtに移行しました。事前の知識がなく、ベストプラクティスを学び、すべてが完璧に動作するようになったので、Qtに多くの時間を費やしました。この問題を除くすべて。
問題
私が通じてくる大量のデータがある場合は、ポートを読み取ろう、データのいくつかのセットが神秘的につながる、出てエラーになります私のプロジェクトでは望ましい損失率よりも高いです。
これはqextserialportを使用した場合に発生しますが、pySerialでは発生しません。
これは私がqextserialportでポートを初期化する方法である:
port.setName("COM3");
port.setQueryMode(QextSerialPort::EventDriven);
port.setBaudRate(BAUD115200);
port.setParity(PAR_NONE);
port.setDataBits(DATA_8);
port.setStopBits(STOP_1);
port.setFlowControl(FLOW_OFF);
とpySerial:
port = Serial('COM3', 115200)
質問
だから私は別の何かがあることを疑います途中で2つの聖書riesはポートを初期化していますが、私はシリアルプログラミングの経験がなく、間違っている可能性があります。
このエラーの原因は何ですか?
シリアルポートの入力バッファが読んでいるよりも速くいっぱいになっている可能性があります。おそらく、より速く、またはより頻繁にそれを読み書きするか、バッファサイズを増やす方法を見つけ出す必要があります。しかし、私はそれを行う方法を知らない、これはコメントであり、答えではない理由です: - P –