求助三轴加速度MMA8451的使用程序和使用方法?

2020-01-23 14:49发布

我在做小车,用到三轴加速度MMA8451,但论坛没有MMA8451的使用程序和使用方法?求哪位大侠帮一下小弟!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
28条回答
viqomk
2020-01-24 09:32
本帖最后由 viqomk 于 2013-3-31 14:51 编辑

uchar tem[6];
        char AGL;

        RD_IIC(0,OUT_X_MSB,tem,6);//连续读6单元数据,代表XYX值
       
        OUT.X = tem[0];
        OUT.X <<=8;
        OUT.X |= tem[1];

        OUT.Y = tem[2];
        OUT.Y <<=8;
        OUT.Y |= tem[3];

        OUT.Z = tem[4];
        OUT.Z <<=8;
        OUT.Z |= tem[5];
               
       
        if(tem[0] > 0x7f)//负值
                {OUT.X = ~(OUT.X>>2)+1;//求补码;移位,取反,加一
                OUT.F_X = FALSE;//负数
                }
        else
                {OUT.X >>= 2;//移位
                OUT.F_X = TRUE;//正数
                }
        OUT.X &= 0x3fff;
        //
        if(tem[2] > 0x7f)//负值
                {OUT.Y = ~(OUTY>>2)+1;//求补码;移位,取反,加一
                OUT.F_Y = FALSE;//负数
                }
        else
                {OUT.Y >>= 2;//移位
                OUT.F_Y = TRUE;//正数
                }
        OUT.Y &= 0x3fff;
        //
        if(tem[4] > 0x7f)//负值
                {OUT.Z = ~(OUT.Z>>2)+1;//求补码;移位,取反,加一
                OUT.F_Z = FALSE;//负数
                }
        else
                {OUT.Z >>= 2;//移位
                OUT.F_Z = TRUE;//正数
                }
        OUT.Z &= 0x3fff;

一周热门 更多>