MMA7455怎么转换加速度的?
时间:10-02
整理:3721RD
点击:
这段程序是读取加速度的,然后怎么把它转换的,选取的是2g模式。x=(int)((x*196)/127);
void dat_dispose()
{
uchar x_flag;
if(start_flag)
{
x1=MMA7455_readbyte(0x06);
y1=MMA7455_readbyte(0x07);
z1=MMA7455_readbyte(0x08);
}
x=x1;
y=y1;
z=z1;
if((x&0x80)==0x00)
{
x=(int)((x*196)/127);//转换成加速度
}
else
{
x=255-x;
x=(int)((x*196)/127);
x=(-1)*x;
}
if((y&0x80)==0x00)
{
y=(int)((y*196)/127);//转换成加速度
}
else
{
y=255-y;
y=(int)((y*196)/127);
y=(-1)*y;
}
if((z&0x80)==0x00)
{
z=(int)((z*196)/127);//转换成加速度
}
else
{
z=255-z;
z=(int)((z*196)/127);
z=(-1)*z;
}
if(start_flag)
{
if(y>30&&x_flag==0&&z>70&&z<100)
{
x_flag=1;
step_num++;
}
else if(y<0);
{
x_flag=0;}
}
else
x_flag=0;
}
void dat_dispose()
{
uchar x_flag;
if(start_flag)
{
x1=MMA7455_readbyte(0x06);
y1=MMA7455_readbyte(0x07);
z1=MMA7455_readbyte(0x08);
}
x=x1;
y=y1;
z=z1;
if((x&0x80)==0x00)
{
x=(int)((x*196)/127);//转换成加速度
}
else
{
x=255-x;
x=(int)((x*196)/127);
x=(-1)*x;
}
if((y&0x80)==0x00)
{
y=(int)((y*196)/127);//转换成加速度
}
else
{
y=255-y;
y=(int)((y*196)/127);
y=(-1)*y;
}
if((z&0x80)==0x00)
{
z=(int)((z*196)/127);//转换成加速度
}
else
{
z=255-z;
z=(int)((z*196)/127);
z=(-1)*z;
}
if(start_flag)
{
if(y>30&&x_flag==0&&z>70&&z<100)
{
x_flag=1;
step_num++;
}
else if(y<0);
{
x_flag=0;}
}
else
x_flag=0;
}