微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > MMA7455怎么转换加速度的?

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;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top