Python:使用readline时串行超时不起作用

时间:2015-09-18 09:04:21

标签: python raspberry-pi2 teensy

好的,我没有得到这个。我现在到处都看,但我不明白为什么这不起作用:

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。我正在做的是从我的Raspberry Pi发送一个字符串serial到我的Teensy(Arduino)。 Teensy成功启动了一个程序,并通过serial向覆盆子发送了1200行。到目前为止这是有效的。

while循环不起作用。数据被写入文件,但循环继续,尽管传输(Teensy-> RPi)已经停止。对于这种情况,我实现了timeout=1,但似乎被忽略了。该程序不会出现在while循环中。

有人可以请求帮助吗?提前谢谢!

0 个答案:

没有答案