在我的 ARM 板上,有一个供内核使用的 I2C PMIC:
# i2cdetect -r 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
但我无法读到任何内容:
# i2cget -a 1 0x33 0x25 b
Error: Could not set address to 0x33: Device or resource busy
恐怕这是因为内核正在使用该设备。有办法阅读吗?我的意思是一些互斥锁或类似的东西可以在设备不“忙”时访问设备?
目标是读取其寄存器以获取电压和错误标志等信息。
答案1
ARM 板,内核使用 I2C PMIC,因此您的 ARM 板不允许您使用此 i2c 总线。
这就是你问题的答案。
因此使用另一个 i2c 总线。
$ i2cdetect -r 2
$ i2cdetect -r 3