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