查看树莓派I2C设备是否正常

目录(?)[+]

前言

在进行II2相关程序的开发时候,很多时候我们必须要确认硬件是否连接征程,设备是否按照我们的设想正常工作,设备地址多少。因此我们需要一个I2C tools来帮助我们


linux下安装

在控制台输入:

sudo apt-get install i2c-tools
   
   
  • 1

等待安装成功,需要我们使用

sudo i2cdetect -l
   
   
  • 1

命令来查看是否安装成功。

使用

I2C设备查询:

sudo i2cdetect -y 1
   
   
  • 1

命令是扫描我们总线bus上所有i2c设备,并且打印出设备i2c总线地址 
这里写图片描述

如图0x40 为pwm舵机驱动板的I2C总线地址

  • 注意: 每次启动树莓派都可能出现I2C设备载入异常的情况 
    这里写图片描述 
    这时,需要重新装在i2c。命令如下
sudo modprobe -r i2c_bcm2708   #卸载设备  -r代表remove

sudo modprobe i2c_bcm2708   #重新载入设备
   
   
  • 1
  • 2
  • 3

然后重复最开始,查看i2c设备运行是否正常。

寄存器数据导出

使用命令:

sudo i2cdump -y 1 0x77
   
   
  • 1

即可导出地址为0x77设备的数据

参数 含义
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址

这里写图片描述


寄存器数据写入

使用如下命令行:

sudo i2cset -y 1 0x77 0x99 0x55
   
   
  • 1

即可向设备地址为0x77的0x90寄存器地址写入0x55

参数 含义
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址
0x90 代表寄存器地址
0x55 代表向寄存器写入的数据

寄存器数据读出

使用如下命令:

sudo i2cget -y 1 0x77 0x90
   
   
  • 1

即可读出总线地址为0x77设备的0x90寄存器地址的数据

参数 含义
-y 代表取消用户交互过程,直接执行命令
1 代表I2C设备号
0x77 代表I2C设备地址
0x90 代表寄存器地址
 
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
如果您的树莓派无法正确识别 mlx90614 传感器的 I2C 地址,可能是以下原因导致的: 1. 传感器的连接方式不正确。请检查传感器的引脚连接是否正确,确保传感器的 SDA 和 SCL 引脚正确连接到树莓派的对应引脚。 2. 传感器的地址不是默认地址。传感器的默认地址为 0x5A,但是有些型号的传感器可能存在不同的地址。您可以查看传感器的数据手册来确认传感器的地址。 3. 树莓派I2C 总线存在问题。请检查树莓派I2C 总线是否启用,并且没有被其他设备占用。您可以在终端运行 `sudo i2cdetect -y 1` 命令来检查 I2C 总线是否正常工作。如果传感器的地址没有被正确识别,那么可能是 I2C 总线存在问题。 4. 传感器本身存在问题。如果传感器的地址没有被正确识别,并且您已经确认了传感器的连接方式和地址都是正确的,那么可能是传感器本身存在问题。 针对上述问题,您可以尝试以下解决方法: 1. 检查传感器的连接方式,并确保传感器的 SDA 和 SCL 引脚正确连接到树莓派的对应引脚。 2. 查看传感器的数据手册来确认传感器的地址,并在程序中设置正确的地址。 3. 检查树莓派I2C 总线是否正常工作,并且没有被其他设备占用。如果有其他设备占用了 I2C 总线,您可以尝试暂时断开这些设备,然后再尝试读取传感器的地址。 4. 尝试更换传感器,或者将传感器连接到另一个树莓派上测试。如果传感器本身存在问题,那么更换传感器或更换树莓派可能可以解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值