stm32小四轴之MPU6050的DMP库移植
前些天,根据原子哥和火哥的MPU6050例程,自己仿写了一个IIC读MPU6050的程序,因为我要做的是小四轴,要姿态融合解算,只是单纯的原始数据没有实际价值,所以一开始我仿照crazepony的程序写DMP程序。但是,crazepony的DMP是自己写的,不是用官方的DMP库,我仿写起来很吃力,昨天花了7、8个小时也没有写出了。到了今天,突然醒悟,百度一下,发现大部分DMP都是移植官方的库,简单又方便,可怜我一直以为crazepong的写法才是简便的,转变思想后,立马移植官方的DMP库。以下就是移植过程:
1、把官方DMP库即下图的eMPL和我自己的mpu605、myiic文件复制到文件夹中。
2、打开MDK工程,双击,把3个文件都添加进去。
3、添加完之后,在main函数文件包含头文件。
4、在inv_mpu.c文件,将官方定义的i2cwrite,i2cread,delay_ms,get_ms函数换成自己的函数。
5、在inv_mpu.c文件的底部,添加MPU_DMP初始化函数mpu_dmp_init()和读DMP函数mpu_dmp_get_data(),并将获得的四元素转换成欧拉角。
6、到此就移植完,然后在main函数中把获得的数据打印出来。
到这一步,已经获取好数据了,下一步就是学习姿态控制算法了。
版权声明:本文为CSDN博主「qq_34586266」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34586266/article/details/54986319 DMP可以计算角度吗 这是什么? 很久以前搞了个小四轴。 可以计算运动的距离吗? 使用的是硬件iic控制的吗 可以AHRS计算角度 这个自己开发的代码吗 可以计算距离吗 MPU6050如何计算欧拉角度呢? 好厉害的样子 iic是硬件控制的吗? 可以计算运动的距离吗? MPU6050如何计算欧拉角度呢? DMP可以融合MPU6050和HMC5883的数据吗? 可以计算运动的距离吗? MPU6050的水平漂移的数据太大了,怎么才能修正呢? dmp是内部集成算法还是需要自己写入的算法? 使用四元数可以计算mpu6050的角度么?
页:
[1]
2