只是一个简短的问题。在我的i2c bus 0上,我有两台设备:0x32和0x20。
当我使用i2cdetect时,只出现其中一个。
# ./i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- 32 -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --奇怪的是,我可以使用i2cset和i2cget向它们发送和接收消息。我想这不是真正的技术问题,而只是好奇--为什么0x20要假装没有人在家?
谢谢!
发布于 2014-12-24 16:49:23
在读/写字节时,各种I2C设备的行为可能不同。
例如,有些可能需要write_then_read命令,而不会确认独立的读取命令。其他人可能期望至少16位数据被读/写,否则事务失败。
i2cdetect可以使用不同的探测方法,例如通过命令行选项调整的读/写命令。您可以尝试使用-r或-q。
如果这不起作用,请查看命令实现和设备的数据表,并确保探测是可能的。
https://stackoverflow.com/questions/27632499
复制相似问题