編集
問題が何であるかを知り、自分の質問に答えました。
この行の下の元の質問
ソフトウェア (具体的には、HDD の無料の仮想シリアル構成ユーティリティ)との間にシリアル ブリッジCOM4
を実装しています。COM5
Powershell の 2 つの異なるインスタンスで起動する 2 つの異なる Python スクリプトがあり、最初に受け取ります。
import serial
receive = serial.Serial(port = 'COM5', baudrate = 9600)
text = receive.read(100)
receive.close()
print text
そして送信者:
import serial
send = serial.Serial(port = 'COM4', baudrate = 9600, timeout = 0)
send.write("Hello")
send.close()
送信側スクリプトを開始すると、受信側スクリプトは送信されたメッセージを取得します (したがって、通信は明確に確立されます) が、送信側スクリプトはすぐにエラーで終了します。
Traceback (most recent call last):
File ".\sending.py", line 3, in <module>
send.writelines("Hello")
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 270, in write
raise writeTimeoutError
serial.serialutil.SerialTimeoutException: Write timeout
送信者スクリプトを次のように変更すると、同じエラーが発生します
send = serial.Serial(port = 'COM4', baudrate = 9600)
だから私の質問は: タイムアウトとは正確には何ですか? それを防ぐにはどうすればよいですか?つまり、データは送信されているので、おそらくすべてをブロックに入れることができtry/except(and do nothing)
ますが、それは長期的には悪い解決策のようです.