わかりません。私は今どこでも見てきましたが、なぜこれが機能しないのかわかりません:
def main():
time = sys.argv[1]
ser = serial.Serial('/dev/ttyACM0',9600, timeout=1)
paramstr= "A 5 " + time + " 0 0 0"
ser.write(paramstr)
print 'sent'
print 'now listening...'
while True:
dbstr = ser.readline()
fo.write(str(dbstr));
fo.close()
ser.close()
print 'exiting.'
これは私のdef main
インpython
です。私がやっていることはserial
、Raspberry Pi から Teensy (Arduino) に文字列を送信することです。serial
Teensy はプログラムを正常に開始し、1200 行をラズベリーに送り返します。これはこれまでのところ機能しています。
うまくいかないのはwhile
ループです。データはファイルに書き込まれますが、送信 (Teensy->RPi) は既に停止していますが、ループは永遠に続きます。この場合、 を実装しましたtimeout=1
が、無視されているようです。プログラムは while ループから出ません。
誰か助けてくれませんか?前もって感謝します!