输入/使用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功能。