MPU6050 DMP移植方法

MPU6050陀螺仪加速度计使用非常的普遍,大多数人都是使用的卡尔曼滤波得到的数据,这样也很好,但是经过长时间的研究使用,发现mpu6050有内部的DMP,经过6050自己内部的算法得出的数据非常的精确,这样减少了cpu的资源,得到的数据也非常的精确和稳定。

下面我就大概讲解一下将官方的dmp文件移植到自己的代码中。

1.移植大概主要包含这几个函数


如果正常使用的话的加这几个函数


2.把inv_mpu函数里的这四个参数修改通过,其中get_ms好像没什么用,经过测试,我把这个函数全部屏蔽掉也没影响。  delay_ms函数可以改成自己的延时函数,最主要的就是iic


3. 库函数里的iic写函数

扫描二维码关注公众号,回复: 3049318 查看本文章

第一个参数是mpu6050的地址参数,但是实际用串口读出来的数据发现他是0x68,而6050的实际地址是0xd0

4.下面的FOXS8700_I2C_ADDR 这个参数要以宏定义的方式定义成6050的地址



MPU6050模块的通信方式是IIC,与普通的串口具有一定的区别,所以很多朋友刚刚研究这个的时候都很难确认是否成功通信,或者不确定模块是否坏了,这里给大家推荐一款USB转IIC的模块,实测可以通过pc端与mpu6050进行数据通信,如果大数据通信的话此模块用处不大,但是如果用这个来检测6050是否坏了,以及数据是否正确还是非常实用的。点击打开链接

猜你喜欢

转载自blog.csdn.net/qq_22329595/article/details/79316394