相关文章推荐
力能扛鼎的剪刀  ·  Windows Forms ...·  1 年前    · 
爱逃课的牛排  ·  python - getting ...·  1 年前    · 

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

linux下安装

在控制台输入:

sudo apt-get install i2c-tools
  

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

sudo i2cdetect -l
  

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

I2C设备查询:

sudo i2cdetect -y 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
  

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

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

寄存器数据写入

使用如下命令行:

sudo i2cset -y 1 0x77 0x99 0x55
  

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

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

寄存器数据读出

使用如下命令:

sudo i2cget -y 1 0x77 0x90
  

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

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