Android 平台下使用 i2c-tools调试IIC

在busybox包含i2c-tools工具,使用时只需busybox+指令只可。

  • i2cdetect
  • i2cdump
  • i2cget
  • i2cset

i2cdetect

列举 I2C bus

# i2cdetect -l
i2c-0   i2c             imx-i2c                                 I2C adapter
i2c-1   i2c             imx-i2c                                 I2C adapter
i2c-2   i2c             imx-i2c                                 I2C adapter
列举 I2C bus i2c-1 上面连接的所有设备

# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- UU -- -- -- -- -- -- -- 
10: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- 3a -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --
发现 I2C 设备的位置显示为 UU或者表示设备地址的数值, UU表示该设备在 driver 中被使用。

i2cdump

dump I2C 设备大批量 register 的值

# i2cdump -y -f 1 0x3a
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: eb 00 7f 05 3d 00 00 00 08 06 00 00 00 00 00 00    ?.??=...??......
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 01 23 45 67 89 ab cd ef fe dc ba 98 76 54 32 10    ?#Eg????????vT2?
30: f0 e1 d2 c3 00 00 00 00 00 00 00 00 00 00 00 00    ????............
40: 80 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00    ?.?.............
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 30 00 00 00 00    ...........0....

i2cget

读取 I2C 设备某个 register 的值

# i2cget -y -f 1 0x3a 0x02
0x7f


i2cset

设置 I2C 设备某个 register 的值

# i2cset -y -f 1 0x3a 0x02 0x05

参考

http://my.oschina.net/luoly/blog/368881

你可能感兴趣的:(android,busybox,IIC)