|
以下代码是IIC读取角度值的,但不明白为什么要乘以500除以4096呢?这芯片资料少。
void Read_Disp(void)
{
UINT16 a = 0,b = 0;
float d = 0;
UINT8 *p;
UINT8 val[10]={0,0,0};
unsigned long x=0;
p=val;
a=read_iic_data();
x=a;
x=x*500/4096;
if (x>=50)
{
x=x-50;
}
else
{
x=0;
}
x=x*180/400;
if (x>=90)
{
x=x-90;
a=0;
}
else
{
x=90-x;
a=1;
}
Lcd1602_pos(0x06);
if (a==0)
{
Lcd1602_wdat('-');
}
else
{
Lcd1602_wdat('+');
}
Lcd1602_pos(0x07);
b=x/10;
Lcd1602_wdat(b+0x30);
Lcd1602_pos(0x08);
b=x%10;
Lcd1602_wdat(b+0x30); |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|