プログラムを winxp から ubuntu に移動すると、奇妙な問題が発生します。
私は次のようにテストします:
#!/usr/bin/python
import time
from platform import system
import serial
if system()=="Windows":
serId =2
else:
serId = '/dev/ttyUSB0'
ser= serial.Serial(serId, 115200, timeout=1)
while True:
start=time.time()
ser.write('1')
t=ser.read(128)
print time.time()-start
print len([i for i in t if i != '']), t
勝てばOK。出力:
0.9
128 ************************************************
Ubuntu では、最初は win と同じように見えます。しかし、Ctrl+C で終了し、再起動すると。
time will be 3s and even more
can receive all the 128B content I send.
ser.flush()
前にwrite
とを追加しread
ます。何も変わらない。
それの何が悪いのですか?ubuntuとxpの違いに何か特別な原因がありますか?