注:博主使用的是正点原子改编的msp430的官方DMP版本
1、函数卡死在mpu_dmp_init()
每个人有不同的问题,但是都是卡在这些函数中,大家可以自己边注释边下载看现象
经过博主的慢慢查找发现了问题所在
在错误的函数中有这样两句打印信息,博主已经注释了,不注释就是错误的
原因是下图,log被宏定义为printf,但是博主并没有对printf重定向,所以发送错误,博主选择把log的语句全部去除,当然,你们也可以重定向printf或者说使用可变参函数自己写一个打印信息的函数
这个问题还是比较无语的,难度不大,主要是容易忽略,博主还以为是自己的驱动写错了,最后找了好久才找到问题。
FIFO溢出![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/53e452dff200ad817512d4b0f70aa370.png)
如图,上面代码给出了两部分延时,一个是延时5ms,一个是延时500ms.
如果使用5ms延时读取没有问题,如果使用500ms就会出问题,因为此时FIFO会溢出,通过查找网上大神的帖子,可以在inv_mpu.c中找到这段代码进行注释,博主猜想应该是FIFO溢出的某种错误。
最后,博主在之前其实就用到过MPU6050,上学期博主做平衡小车做了,当时是使用HAL库的,这次博主由于想要参加电赛,打算用标准库做,所以把可能会用到的东西都封装一下,没想到当时还有这么多问题没有碰到,还好提前准备了,不然比赛的时候就浪费太多时间了。