【开源】MPU9250 全单片机平台通用底层代码(和硬件平台完全解耦)

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

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

在文件夹内右击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

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值