Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 树莓阅读Arduino通过串行从Python冻结_Python 2.7_Arduino_Raspberry Pi - Fatal编程技术网

Python 2.7 树莓阅读Arduino通过串行从Python冻结

Python 2.7 树莓阅读Arduino通过串行从Python冻结,python-2.7,arduino,raspberry-pi,Python 2.7,Arduino,Raspberry Pi,我已经建立了一个连接到Arduino的体重秤,它正在将测量的体重发布到USB串行数据中。从我的笔记本电脑通过Arduino IDE连接时,串行监视器很好地显示到达的数据。 当使用下面的Python代码读取序列号时,它在笔记本电脑Linux Mint、Python 2.7.6上工作,但在运行Raspbian、Python 2.7.3的Raspberry RPI B+上,它在打印几行后冻结,在冻结之前打印的行数在7-70之间变化 import serial, time ser = serial.Se

我已经建立了一个连接到Arduino的体重秤,它正在将测量的体重发布到USB串行数据中。从我的笔记本电脑通过Arduino IDE连接时,串行监视器很好地显示到达的数据。 当使用下面的Python代码读取序列号时,它在笔记本电脑Linux Mint、Python 2.7.6上工作,但在运行Raspbian、Python 2.7.3的Raspberry RPI B+上,它在打印几行后冻结,在冻结之前打印的行数在7-70之间变化

import serial, time
ser = serial.Serial('/dev/ttyUSB1', 9600, timeout=5)
time.sleep(2) # wait for Arduino
num = 0;

while True:
    line = ser.readline()
    num = num+1
    print num
    print line

知道是什么导致覆盆子冻结吗?

Arduino总是发送换行符吗?是的,它每200毫秒发送一次下面的序列号。println;Serial.printanalogValue:|;序列平均值;连续打印|;Serial.print load:|;串行。打印加载,5;连续打印|;尝试放置Serial.println;在结尾而不是开头。谢谢,我试着把Serial.println移到结尾而不是开头。它似乎起到了一定的作用,因为现在它有时会在死之前收到140条消息,但其他时候它仍然在20-30条消息时死去。ser.readline正在等待python代码中的换行符,因此如果将arduino代码中的Serial.println移到末尾对某些情况有所帮助,那么它看起来像是python端的超时问题。您可以尝试增加超时时间或以某种方式更动态地阅读。