2020-01-07 19:26发布
cshp138 发表于 2013-7-29 09:22 我也是用stm8搞DMP库,里面可以选择#define EMPL_NO_64BIT,变成32位长度了。现在搞到输出四元素,但是数值 ...
gyzzg2030 发表于 2013-7-29 09:33 32位处理MPU6050足够了啊,为什么要64位?
最多设置5个标签!
http://www.cnblogs.com/worldsing/p/3220186.html
这个图片是IAR下的,不过都是STM8的cpu
我使用了#define EMPL_NO_64BIT也是输出数值不对,个人猜测是以下两个地方可能有问题:
1、 inv_mpu_dmp_motion_driver.c 下有个int dmp_set_accel_bias(long *bias),这个函数中有个long long accel_sf;此变量定义了no 64bit依然会要用到。
2、 在计算中经常要除以1073741824.0f,这个数可能是数值太大造成计算错误。我把得到的四元数结果除此数经常发生复位,不知道是为什么。
在STM32上已经调通了,DMP效果很棒
是官方库里面源程序是这样的。不行的话只有自己想办法改了。另外STM8是8位的
一周热门 更多>