项目 地址(选中复制到浏览器打开或发送至电脑) 备注
底层 https://github.com/TURBOyan/MPU9250.git  
例程 https://github.com/TURBOyan/MPU9250_Example.git  
百度网盘 关注“特博工坊”微信公众号,点击总资源标签获取地址  
文件总大小 1.40MB  
时序 MPL频率 最高200Hz,默认100Hz
读取一次数据所需时间 约2.5ms Refresh_MPUTeam函数

说明

1、实测MPU9250在芯片Z轴垂直于水平面初始化必须),并开启10秒左右后,融合了电子罗盘的偏航角10分钟漂移不超过0.1度,稳定性高于MPU6050。

2、如果芯片周围有强磁,看到Yaw角迟迟不能稳定的话,则需要八字校准电子罗盘,即开启后将模块做八字回旋动作,直到看到Yaw角稳定输出。

代码下载

一、GitHub方式(推荐,便于后续更新和代码管理)

可移植底层链接????

1
COPY
https://github.com/TURBOyan/MPU9250.git                                        

例程链接????

例程内已有的移植好的单片机有:1、LPC54606

1
COPY
https://github.com/TURBOyan/MPU9250-Example.git                                   

点击查看Github下载教程????

使用GitHub来团队协作和管理你的代码

二、百度网盘下载

关注“特博工坊”微信公众号,点击总资源标签获取地址  

代码移植

一、克隆代码

这里我拿LPC546XX例程举例

在你的工程文件夹内,任选一个位置,这里我选择了…/USER/

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

这个文件夹是专门放用户自己写的代码和底层用的

在文件夹内右击git bash将代码克隆进去,具体办法点击这里查看教程

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

二、添加C文件和H文件路径到工程内

这部分比较容易

如果有不会的同学可以自行百度

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

三、修改配置文件

!!!!最关键的一步!!!!!

这里要修改的非常少

需要修改的文件只有

MPU9250_Config.h

内部包含了传入的平台GPIO操作函数

具体做法详见这个头文件

都有详细注释

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

三、调用函数读取模块数据

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

【底层】MPU9250(电子指南针+六轴)通用底层(模拟IIC)

相关文章: