本帖最后由 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);
}
}
一周热门 更多>