console:/ # i2cdetect --help
Toybox 0.8.4-android multicall binary: https://landley.net/toybox (see toybox --help)
usage: i2cdetect [-ary] BUS [FIRST LAST]
usage: i2cdetect -F BUS
usage: i2cdetect -l
Detect i2c devices.
-a All addresses (0x00-0x7f rather than 0x03-0x77)
-F Show functionality
-l List all buses
-r Probe with SMBus Read Byte
-y Answer "yes" to confirmation prompts (for script use)
console:/ # i2cdetect -a
i2cdetect: bad args
1|console:/ # i2cdetect -a 3
Probe chips 0x00-0x7f on bus 3? (Y/n):y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
console:/ #
7 i2cset
向指定I2C设备的寄存器地址写入数据
i2cset -y 3 0x1E 0x00 0x3 b
i2cset -y 总线序号 设备地址 寄存器地址 数值 模式
MODE:支持b字节、w双字节、i为数据块
console:/ # i2cset --help
Toybox 0.8.4-android multicall binary: https://landley.net/toybox (see toybox --help)
usage: i2cset [-fy] BUS CHIP ADDR VALUE... MODE
Write an i2c register. MODE is b for byte, w for 16-bit word, i for I2C block.
-f Force access to busy devices
-y Answer "yes" to confirmation prompts (for script use)
console:/ #
console:/ # i2cset -y 3 0x1E 0x00 0x3 b
8 i2cget
读取I2C指定设备指定地址上的数据,一次只能读取1个字节
如下我们将楼上写入的数据又读了出来,为0x03,数据一致
console:/ # i2cget --help
Toybox 0.8.4-android multicall binary: https://landley.net/toybox (see toybox --help)
usage: i2cget [-fy] BUS CHIP ADDR
Read an i2c register.
-f Force access to busy devices
-y Answer "yes" to confirmation prompts (for script use)
console:/ #
console:/ # i2cget -y 3 0x1E 0x00
0x03
console:/ #
9 i2cdump
dump i2c 指定设备的寄存器数值
console:/ # i2cdump --help
Toybox 0.8.4-android multicall binary: https://landley.net/toybox (see toybox --help)
usage: i2cdump [-fy] BUS CHIP
Dump i2c registers.
-f Force access to busy devices
-y Answer "yes" to confirmation prompts (for script use)
console:/ #
console:/ #
console:/ # i2cd
i2cdetect i2cdump
console:/ # i2cdump -y 3 0x1E
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 03 00 00 02 02 01 ee ee 00 80 00 00 00 00 00 00 ?..?????.?......
10: 00 01 00 03 ee ee ee ee ee 40 00 00 ff ff ee ee .?.??????@..????
20: 05 13 01 00 00 ee ee ee 00 00 00 80 00 80 ee ee ???..???...?.???
30: 00 00 ee 05 ee 00 ee 1b 00 00 00 00 00 00 00 00 ..???.??........
40: 82 84 80 93 80 8f 86 80 ee ee ee ee ee ee ee ee ????????????????
50: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
60: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
70: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
80: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
90: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
a0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
b0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
c0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
d0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
e0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
f0: ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ee ????????????????
console:/ #