输入/使用Python模块的SMBus,树莓裨
问题描述:
我已用自制I²C电平移位器连接的树莓Pi和一个单独的板一起,并安装了Python模块的SMBus,树莓裨可以与所述PiGlow在通信输出误差其他董事会,但每隔一段时间我试图命令时得到一个输入/输出错误信息:输入/使用Python模块的SMBus,树莓裨
bus.write_i2c_block_data(address, signal, data)
它说:
IOError: [Errno 5] Input/output error
我找到了一个工作,围绕它通过这篇文章:Input/output error using Python module SMBus, a Raspberry Pi and an Arduino(这或多或少是一个跟进的是疑问句荐)
我公司目前拥有的try-catch的身边,给了我的错误,像这样的电话:
try:
bus.write_i2c_block_data(address, signal, data)
except IOError:
subprocess.call(['i2cdetect', '-y', '1'])
这工作完全正常来解决I/O错误。我的问题是,由于所有的try-catch的,代码似乎运行显著慢。我想知道是否有另一种已知的解决办法,如果有这样做更有效的方式。任何帮助,将不胜感激!
感谢
答
你打电话Serial.print
或您separate board
的接收中断处理程序相似?如果是的话,这可能是问题所在。在一个Arduino
,例如,一个应该避免调用中断内部Serial.xxx
功能。