一、树莓派的引脚插针i2c通讯打开
sudo raspi-config
上下方向键选择编号,左右方向键选择下面两个,我们选择第5个interfacing options
选择i2c接口
然后输入sudo reboot重启树莓派即可这样一来树莓派的设置已经完成。
设备连接好后我们就可以查找传感器的i2c通信地址,
安装好i2c库和工具
sudo apt-get install i2c-tools
查 看挂载了几个i2c
ls /dev/*i2c*
之后我们就会发现出现了这个文件 i2c-1 ,有些会看到i2c-0、i2c-1、i2c-2等几个文件
接入i2c通讯的传感器,这里用 sht30 温湿传感器为例子
然后查看传感器地址
sudo i2cdetect -y -a 1
说明:i2cdetect -y -a 1 后面的1,有可能是0,1,2, 根据上面ls /dev/*i2c* 查看的结果
0x44就是sht30的通信地址
二、用i2cdump查看器件所有寄存器的值,这个很有用:
输入命令:i2cdump -y -f 总线 器件地址,
比如:
i2cdump -y -f 1 0x48
或上文提到的 0x44
三、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:/#