树莓派i2c通讯 设置 和 查看 i2c通信地址方法

一、树莓派的引脚插针i2c通讯打开
sudo raspi-config

f9b8a8f100707d9d3d5b84e9efeea28a.png

上下方向键选择编号,左右方向键选择下面两个,我们选择第5个interfacing options

 

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第1张图片

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第2张图片

选择i2c接口

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第3张图片

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第4张图片

 然后输入sudo reboot重启树莓派即可这样一来树莓派的设置已经完成。

 

设备连接好后我们就可以查找传感器的i2c通信地址,
安装好i2c库和工具

sudo apt-get install i2c-tools

查 看挂载了几个i2c

ls /dev/*i2c*


之后我们就会发现出现了这个文件 i2c-1 ,有些会看到i2c-0、i2c-1、i2c-2等几个文件

f84e562cb7ac415293250e45b4d08817.png

 

 

接入i2c通讯的传感器,这里用 sht30 温湿传感器为例子

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第5张图片

然后查看传感器地址

sudo i2cdetect -y -a 1 

说明:i2cdetect -y -a 1   后面的1,有可能是0,1,2, 根据上面ls /dev/*i2c* 查看的结果

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第6张图片

0x44就是sht30的通信地址

二、用i2cdump查看器件所有寄存器的值,这个很有用:

输入命令:i2cdump -y -f 总线 器件地址,

比如:

i2cdump -y -f 1 0x48

或上文提到的 0x44

树莓派i2c通讯 设置 和 查看 i2c通信地址方法_第7张图片


三、i2cset & i2cget命令
用i2cset设置单个寄存器值,用i2cget读取单个寄存器值,可以在初期调试时发挥很大作用,一旦有预期的现象出现,就可以用i2cdump读出整个寄存器的值,然后固化到代码中: i2cget -y -f i2c总线 器件地址 寄存器地址 i2cset -y -f i2c总线 器件地址 寄存器地址 要写入的值

root@TinaLinux:/# i2cget -y -f 1 0x48 0x040
 0x1f
 root@TinaLinux:/# i2cset -y -f 1 0x48 0x040 0x22
 root@TinaLinux:/# i2cget -y -f 1 0x48 0x040
 0x22
 root@TinaLinux:/#

 

你可能感兴趣的:(i2c,树莓派)