如何解决mpu9250不放平自检不通过的问题?

2019-07-20 06:40发布

本帖最后由 远空w 于 2018-8-14 22:19 编辑

利用stm32f407开发板和mpu9250模块学习。

1.png 模块不放平无法通过上面图片的mpu_dmp_init函数,已确定不是IIC的问题。

利用单步调试确定的自检不通过,即死在下图函数中。

2.png
下图result的返回值是0x05
3.png
在此函数中是下面的函数返回值错误,即加速度自检不符合要求。
4.png
下面这一条语句也不会起作用
5.png
1,如何解决不放平自检不通过的问题?2,如何让mpu9250以任意角度为初始角度?
(3,6500 WHO_AM_I寄存器返回值是0x73,这真的代表我的模块是9255吗?)
请问各位有什么好办法吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-20 10:33
 精彩回答 2  元偷偷看……
DreamWaterPro
2楼-- · 2019-07-20 12:16
我记得MPU9250使用DMP的时候,默认提供的程序的话确实是要求在水平的时候进行初始化的,不仅是这个器件,其他的MPUxxxx也都是如此。但是我自己没有尝试进行过楼主所示的修改,给不出楼主好的答案。

对于问题3,虽然官方手册上给的WHO AM I寄存器数值应该是0x71,但是我之前测试了大约有10多块不同渠道购买的MPU9250,发现0x71大约6块, 0x73大约两块(约数,记不太清了),还有一块0x72的。所以这个,应该是不同的生产商或者是不同的生产设计版本的原因吧。

一周热门 更多>