我正在将值列表(例如 80,539,345,677)从 Arduino 发送到在我的 RPi 上运行的 Python 应用程序。我没有成功提取值并将它们分配给应用程序中的相应变量或对象。
这是我的代码:
def read_values():
#if DEBUG:
print "reading arduino data"
ser = serial.Serial('/dev/ttyUSB0', 9600)
print "receiving arduino data"
ser_line = ser.readline()
print ser_line
ser.close()
ser_list = [int(x) for x in ser_line.split(',')]
ambientLight = ser_list[1]
print ambientLight
return ambientLight
我从 Python 得到的是:
reading arduino data
receiving arduino data
80,477,82,2
Traceback (most recent call last):
File "serialXivelyTest4c.py", line 77, in <module>
run()
File "serialXivelyTest4c.py", line 63, in run
ambientLight = read_values()
File "serialXivelyTest4c.py", line 27, in read_values
ser_list = [int(x) for x in ser_line.split(',')]
ValueError: invalid literal for int() with base 10: '8254\r80'
你可以看到我得到了值,但是它们被截断了。谁能告诉我这里哪里出错了。非常感谢。