我有一个温度和湿度传感器通过3.3V的电源连接到我的RPi,GND和SDA和SCL。我正试着从它得到一个温度读数,但我总是得到一个
"OSerror: Errno 121远程I/O错误“。
i2c
界面已启用,并且所有内容都是最新的。我可以使用sudo i2cdetect -y 1
查看设备的地址。有没有可能我应该先向它发送一些数据,以便传感器“知道”我将要从它读取数据,并且它应该正在发送数据?
这是我的代码
import smbus
TEMP = 0x40
bus = smbus.SMbus(1)
state = 1
while (state):
print("1.Read temperature")
print("2.Exit")
choice = input("")
if choice =='1':
Ctemp = bus.read_byte(TEMP)
print ("%d" %Ctemp)
elif choice == '2':
state = 0
发布于 2018-06-16 23:40:37
是的,您可能必须配置您的I2C设备(您没有提到您使用的是什么,所以我无法为您查找),但这个错误可能意味着其他一些东西。您可以尝试使用i2cdump -y 1 0x40
来查看可用的数据,但同样,您应该阅读传感器芯片的数据表,以便了解要使用哪些数据。
https://stackoverflow.com/questions/48539562
复制相似问题