私はPythonでハードウェアシリアルポートデバイスを使用しようとしていますが、タイミングの問題があります。質問コマンドをデバイスに送信すると、データで応答する必要があります。受信データをあまりにも速く読み取ろうとすると、何も受信しません。Python serial.readline()がブロックされない
import serial
device = serial.Serial("/dev/ttyUSB0", 9600, timeout=0)
device.flushInput()
device.write("command")
response = device.readline()
print response
''
readline()
コマンドがブロックし、それが必要として新しい行を待っていません。簡単な回避策はありますか?
をしかし、[ドキュメント](のhttp:// pyserial.readthedocs.io/en/latest/shortintro.html#readline) 'write'と' readline'の間の 'flush'呼び出しを示します。また、 'serial'が実際に何であり、どのように設定されているのかを理解することは困難です。誰かが実際に実行して問題を見ることができるより完全なコード例を投稿できますか? –
タイムアウト値はどのように設定されていますか? – paxdiablo
私はこの例を拡張しました。私は 'flush()'を追加しましたが、それは助けになりませんでした。 – Rachie