admin 管理员组文章数量: 887021
i2c
一 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设备某些寄存器其设置的值和读出的值不同,请不要见怪,比如复位寄存器,其设置的值并不等于读出的值。
本文标签: i2c
版权声明:本文标题:i2c 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1693468281h223799.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论