小编Sud*_*xit的帖子

'IOError:[Errno 5]输入/输出错误',同时使用SMBus通过RPi进行模拟读取

我一直在寻找标题中提到的错误的答案,但这是我第一次得到答案.我试图让我的Raspberry pi读取模拟数据,但是当我在终端窗口中运行代码时,它给出了'IOError:[Errno 5]输入/输出错误'.

用于读取模拟数据的代码如下所示.我正在使用PCF8591 ADC转换器.

from smbus import SMBus

bus = SMBus(0)

print "read a/d press ctrl + c to stop"

bus.write_byte(0x48, 0)
lastval = -1

while True:
  reada = bus.read_byte(0x48)
  if(abs(lastval-reada) > 2):
    print(reada)
    lastval=reada
Run Code Online (Sandbox Code Playgroud)

我理解这可能是因为树莓派中的版本发生了变化,我应该将SMBus(0)更改为SMBus(1).为此我检查了我的RPi版本,这不是修改后的版本.但我仍然试图通过更改SMBus号来运行程序,但仍然没有运气.

我得到的错误如下所示:

Traceback (most recent call last):
  File "analogread.py", line 7, in <module>
    bus.write_byte(0x48, 0)
IOError: [Errno 5] Input/output error
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.这是我试图执行的更大项目中的基本块.因此,我可以更好地工作,我可以构建我的应用程序.谢谢

python analog-digital-converter python-2.7 raspberry-pi

17
推荐指数
4
解决办法
4万
查看次数