一、樹莓派的引腳插針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總線 器件位址 寄存器位址 要寫入的值
[email protected]:/# i2cget -y -f 1 0x48 0x040
0x1f
[email protected]:/# i2cset -y -f 1 0x48 0x040 0x22
[email protected]:/# i2cget -y -f 1 0x48 0x040
0x22
[email protected]:/#