项目 | 地址(选中复制到浏览器打开或发送至电脑) | 备注 |
---|---|---|
底层 | https://github.com/TURBOyan/MPU9250.git | |
例程 | https://github.com/TURBOyan/MPU9250_Example.git | |
百度网盘 | 链接:https://pan.baidu.com/s/1sq9QN1b6RG6lJ_c780nBYQ 提取码:oly7 | |
文件总大小 | 1.40MB | |
时序 | MPL频率 | 最高200Hz,默认100Hz |
读取一次数据所需时间 | 约2.5ms | Refresh_MPUTeam函数 |
说明
1、实测MPU9250在芯片Z轴垂直于水平面初始化(必须),并开启10秒左右后,融合了电子罗盘的偏航角10分钟漂移不超过0.1度,稳定性高于MPU6050。
2、如果芯片周围有强磁,看到Yaw角迟迟不能稳定的话,则需要八字校准电子罗盘,即开启后将模块做八字回旋动作,直到看到Yaw角稳定输出。
代码下载
一、GitHub方式(推荐,便于后续更新和代码管理)
可移植底层链接👇
https://github.com/TURBOyan/MPU9250.git
例程链接👇
例程内已有的移植好的单片机有:1、LPC54606
https://github.com/TURBOyan/MPU9250-Example.git
点击查看Github下载教程👇
二、百度网盘下载
链接:https://pan.baidu.com/s/1sq9QN1b6RG6lJ_c780nBYQ
提取码:oly7
复制这段内容后打开百度网盘手机App,操作更方便哦
代码移植
一、克隆代码
这里我拿LPC546XX例程举例
在你的工程文件夹内,任选一个位置,这里我选择了../USER/
这个文件夹是专门放用户自己写的代码和底层用的
在文件夹内右击git bash将代码克隆进去,具体办法点击这里查看教程
二、添加C文件和H文件路径到工程内
这部分比较容易
如果有不会的同学可以自行百度
三、修改配置文件
!!!!最关键的一步!!!!!
这里要修改的非常少
需要修改的文件只有
MPU9250_Config.h
内部包含了传入的平台GPIO操作函数
具体做法详见这个头文件
都有详细注释
三、调用函数读取模块数据
1、在需要读取MPU9250数据的头文件内包括MPU_ForUser.h文件
2、查看MPU_ForUser.h内函数,并阅读调用说明
需要调用的函数有:
(1)MPU_Init_ForUser();用于MPU9250初始化
(2)Refresh_MPUTeam(DMP_MPL);用于读取三态角值,实测在正确调用的情况下,执行一次需要2.5ms
3、执行一次Refresh_MPUTeam后,相对应的数据将刷新在结构体MPU_Data内,此结构体可在任何包括了MPU_ForUser的地方使用,是全局结构体。
其他具体用法详见MPU_ForUser和MPU9250_Config内说明
备注:单片机和模块连接除了IIC的SCL、SDA引脚以外,还需连一根线从模块的INT到单片机的外部中断引脚,用作数据准备好的信号,中断触发的周期将由MPU9250_Config.h文件内的DEFAULT_MPU_HZ决定,也就是MPL的刷新频率,一般最高200Hz,这里默认是100hz
P.S.
个人主页:https://turboyan.com
GitHub:https://github.com/TURBOyan
Email:turboisyan@foxmail.com
公众号:特博工坊
文章评论