关于MPU6050的DMP使用问题,求助

2019-08-20 18:15发布

本帖最后由 ehome4407 于 2016-3-22 18:00 编辑

各位大大,小妹不才,想请教一下,在MPU初始化DMP的时候会选择是否启用陀螺仪校准,我找到了如下机组代码,enable为1的时候执行校准,如下代码所示,我想请教一下,DMP是通过什么判断8秒之内没有运动的?另外unsigned char regs[9] = {0xb8, 0xaa, 0xb3, 0x8d, 0xb4, 0x98, 0x0d, 0x15, 0x5d};这个数组中的每个数据都有什么意义?我觉得这里面可能有个阈值,当低于这个阈值的时候的时候DMP才认为设备没有发生运动,开启自动校准,哪位大大如果知道麻烦告知小妹一声,感激不尽!!!
全部的22金钱奉献了,非常苦恼中
int dmp_enable_gyro_cal(unsigned char enable)
{
   printf("enable=%d ",enable);
    if (enable) {
     /* 0xb8, 0xaa, 0xb3, 0x8d, 0xb4, 0x98, 0x0d, 0x35, 0x5d */
        unsigned char regs[9] = {0xb8, 0xaa, 0xb3, 0x8d, 0xb4, 0x98, 0x0d, 0x15, 0x5d};
        return mpu_write_mem(CFG_MOTION_BIAS, 9, regs);
    } else {
        unsigned char regs[9] = {0xb8, 0xaa, 0xaa, 0xaa, 0xb0, 0x88, 0xc3, 0xc5, 0xc7};
        return mpu_write_mem(CFG_MOTION_BIAS, 9, regs);
    }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。