1. 程式人生 > >linux shell通過i2cget命令獲取I2C器件暫存器的值

linux shell通過i2cget命令獲取I2C器件暫存器的值

以下內容為原創,歡迎轉載,轉載請說明來源:http://blog.csdn.net/masterbee/article/details/78676040

最近在寫一段linux shell指令碼,通過I2C控制一顆IC,獲取它暫存器的值,它暫存器的值即表示想要獲取的電壓。

先解釋一下:

sudo i2cget -y -f 0 0x2a 0x10表示用root許可權通過i2cget命令獲取地址為0x2a的晶片,0x10暫存器上的值。

所有shell命令如下所示:

getVH()

{
 sudo i2cget -y -f 0 0x2a 0x10
}
getVL()
{
 sudo i2cget -y -f 0 0x2a 0x11
}
VH=`getVH`
VL=`getVL`
Value=$[$VH*8+$VL]
Value=$(printf "%.3f" `echo "scale=3;$Value*0.035"|bc`)

echo "Value:$Value V"

 

echo ""
read -n1 -p "按下任意鍵退出……"