2017-08-30 12 views
0

pySerialを使用してシリアルポートをリッスンしています。私が処理できるデータのチャンクがあるときにのみ処理されるデータ。単純なイベント・ディスパッチャーは、readetからのイベントをlistenし、次にイベント・データを処理します。処理には、IO、ネットワーク、および別の種類の時間がかかるOS操作が含まれる場合があります。しかし、最後のデータを処理する際にシリアルからデータを読み込むのは誰でしょうか?例えばデータ損失のないシリアルでの作業

Port stream >> | 1111111111111111 | 222222 | 2222222 | 33333 
        --------------------------------------------- 
Programm thread >> | listen port 1 -> | handle | listen2 | ..... 

ので、取り扱い上の時間に来たポートからのデータが失われるのですか? 2のパッケージのような開始?

ポートからのすべてのデータが時間内に処理されることを保証する方法?

  • ハードウェア:ラズベリーPI 3B
  • OS:Raspbian
  • のPython:V2.7

答えて

1

Pythonで循環バッファとスレッドの使用が解決策になります。もう1つは異なるプロトコルを実装することで、送信者は受信者が新しいデータを送信する前に受信を確認するのを待ちます。

関連する問題