linux shell通过i2cget命令获取I2C器件寄存器的值

版权声明: https://blog.csdn.net/masterbee/article/details/78676040

以下内容为原创,欢迎转载,转载请说明来源: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 "按下任意键退出……"

猜你喜欢

转载自blog.csdn.net/masterbee/article/details/78676040