《15寸移动式心电监测仪》制作纪实 :zynq 7000系列 i2c 总线调试纪实

开启i2c-0和i2c-1

这里引用ALINX开启双目摄像头的教程的设备树配置
不需要写两个sensor@3c的子节点,只写clock-frequency=<100000>即可开启总线。
也不需要在配置界面配置什么。
在这里插入图片描述

在这里插入图片描述

使用i2c-tools辅助测试

简介

i2c-tools软件包包含用于Linux的一组不同的I2C工具:总线探测工具,chip dumper,寄存器级SMBus访问帮助器,EEPROM解码脚本,EEPROM编程工具以及用于SMBus访问的python模块。 只要内核中包含I2C支持,就支持所有版本的Linux。

我们使用这个工具来进行快速测试验证,这是个不可多得的好东西。

安装

apt安装i2ctools:
sudo apt-get install i2c-tools

使用举例

还记得HDMI中有一对I2C总线吗,它挂载在i2c-0,我们来试一试读一读显示器的内容。
同时,i2c-1上面挂载了一个24c04,地址为0x50,我们也来操作它。

1.列出所有i2c总线:i2cdetect

i2cdetect -l

2.检测指定i2c总线上的器件地址:i2cdetect

i2cdetect -r -y 0

在这里插入图片描述
上面的是拔出显示器,下面是插入显示器,可见,显示器有这些设备地址。

3.获得指定总线,指定器件中所有寄存器的值:i2cdump

i2cdump -f -y 0 0x50

我们获得了显示器0x50器件的所有寄存器的值
(我猜测它应该是显示器内部的EEPROM)
在这里插入图片描述

4.获得指定总线,指定器件中单个寄存器的值:i2cget

i2cget -f -y 0 0x50 0x5f

可以与上面的dump值进行一下对比
在这里插入图片描述

5.设置指定总线,指定器件中单个寄存器的值:i2cset

对显示器写入信息可能会破坏它,我们来操作i2c-1上的24c04。
这是存储器的dump值
在这里插入图片描述
下面写一下0x00寄存器 ,值为0x30

i2cset -f -y 0x50 0x00 0x30

然后再dump一下:在这里插入图片描述
可以看到已经修改成0x30了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值