Linux下I2C-tools工具使用

1.i2cdetect

扫描I2C总线上的设备
Linux下I2C-tools工具使用_第1张图片

1.1 i2cdetect -l查看当前系统的I2C总线


总线挂载了I2C设备,可通过i2cdetect扫描每一个总线的所有设备
i2cdetect -y -r 1:查看总线1上的所有从设备("--"表示地址被检测到了,但是没有芯片,"UU"表示地址正在被某一个驱动使用,而16进制的地址号60)
Linux下I2C-tools工具使用_第2张图片
Linux下I2C-tools工具使用_第3张图片
查询总线1(I2C -1)的功能,命令为i2cdetect -F 1
Linux下I2C-tools工具使用_第4张图片

1.i2cdetect

i2cdetect -y -r 1

2.i2cget:获取某一个总线上某一个从设备的寄存器值
如下:获取1总线从设备0x62寄存器00的值

i2cget -f -y 1 0x62 0x00
-f:强制访问设备
-y:取消交互模式。默认情况下,i2cdetect将等待用户的确认,当使用此标志时,它将直接执行操作。

3.i2cset设置某一个总线上某一个从设备的寄存器的值
如下:设置1总线从设备0x62寄存器00的值为0x00

i2cset -f -y 1 0x62 0x00 0x00
设置i2c1上从地址为0x62的外设0x00寄存器的值为0x00

4.i2cdump :查看某一个总线上某一个从设备所有寄存器的值,寄存器地址为8位
如下:查看i2c1上0x62外设所有寄存器的值

i2cdump -f -y 1 0x62

5.i2ctranfer:向寄存器地址为16位的从设备读取或者写入数据

i2ctransfer -f -y 1 w2@0x62 0x00 0x00 r32  读取
1:哪条总线
w2:写两个字节地址
0x00 0x00:寄存器地址
r32:往后32个寄存器所对应的寄存器值

i2ctransfer -f -y 1 w2@0x62 0x00 0x00 0x10 
1:哪条总线
w2:写两个字节地址
0x00 0x00:寄存器地址
0x10:0x00 0x00寄存器地址往后的寄存器写入0x10

你可能感兴趣的:(安卓驱动开发,stm32)