Python从串口读取

时间:2017-04-20 14:04:42

标签: python linux serial-port raspberry-pi

我正在尝试将数据从RFID(RMD6300)读取到python中的Raspberry Pi 1,但在读取30-40秒后出现中断,它会崩溃,并显示以下错误消息:

  

回溯(最近一次调用最后一次):文件“tmp.py”,第7行,中          string = ser.read(20)文件“/usr/local/lib/python2.7/dist-packages/serial/serialposix.py”,行   501,正在阅读中       '设备报告已准备好读取但未返回任何数据'serial.serialutil.SerialException:设备报告准备读取   但没有返回任何数据(设备断开连接或端口多次访问?)

这是我的代码:

=A2-YEAR(B2)

1 个答案:

答案 0 :(得分:2)

  

问题:...设备报告已准备好阅读但未返回任何数据

增加timeout

ser = serial.Serial('/dev/ttyAMA0',9600, timeout=1)

使用try ... except

try:
    string = ser.read(20)
except serial.serialutil.SerialException:
    except_counter +=1
    if except_counter == 5:
       break

    time.sleep(1)
  

问题:...设备断开连接或端口多次访问?

你可以排除这两点吗?