i2c-tools工具集

一 i2c-tools工具集介绍

i2c-tools是一个专门调试i2c设备的开源工具集,在嵌入式开发中经常使用,该工具集包含以下命令:
i2cdetect、i2cdump、i2cget、i2cset。
i2c-tools的重要意义就是开发人员既不需要编写复杂的Linux驱动、也不需要编写应用程序,只需要输入几个简单的命令就可以调试i2c设备,比如:
设置i2c设备寄存器
获得i2c设备寄存器的值

二 i2c-tools工具集详细操作

i2cdetect:查询开发板包含的i2c总线和外设,看以下命令:
i2cdetect -l
探测开发板包含的i2c总线
从命令执行结果可知,开发板包含2个i2c总线控制器
在这里插入图片描述
i2cdetect -y -r 0
探测i2c-0总线上挂载的外设,参数-y表示取消交互模式,直接执行命令
从命令执行结果可知i2c-0总线上挂载了2个i2c设备,地址分别为0x56、0x57。
其中0x57为EEPROM芯片
在这里插入图片描述
i2cdetect -y -r 1
探测i2c-1总线上挂载的外设
从命令执行结果可知i2c-1总线上挂载了1个i2c设备,地址为0x68。
UU表示该设备已经被Linux内核驱动占用,探测程序会略过该设备
在这里插入图片描述
i2cset:设置i2c设备单个寄存器的值,看几个命令:
i2cset -y -f 0 0x57 0x00 0x10
i2cset -y -f 0 0x57 0x01 0x11
i2cset -y -f 0 0x57 0x02 0x12
i2cset -y -f 0 0x57 0x03 0x13
下面以i2cset -y -f 0 0x57 0x00 0x10为例进行分析
参数 意义
-y 取消交互模式,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
0x00 表示寄存器地址
0x10 表示待写入的值
i2cget:查看i2c设备单个寄存器的值,看几个命令:
在这里插入图片描述
下面以i2cget -y -f 0 0x57 0x00为例进行分析
参数 意义
-y 取消交互模式,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
0x00 表示寄存器地址
在这里插入图片描述
i2cdump:查看i2c设备所有寄存器的值,看以下命令:
i2cdump -y -f 0 0x57
参数 意义
-y 取消交互过程,直接执行命令
-f 强制访问该设备
0 表示i2c总线编号
0x57 表示i2c设备地址
从命令执行结果可知i2cdump命令获得的寄存器值和i2cget命令相同。
在这里插入图片描述
注意:
i2c设备某些寄存器其设置的值和读出的值不同,请不要见怪,比如复位寄存器,其设置的值并不等于读出的值。

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值