OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8613|回复: 12

MPU9250 DMP STM32F407 基于STM32F407的9250DMP移植

[复制链接]

7

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2019-1-30
在线时间
74 小时
发表于 2019-3-3 16:51:47 | 显示全部楼层 |阅读模式
最近做一个四轴无人机的项目
需要读取姿态融合解算后的MPU9250
嗯... 我的高数比较差, 所以通过官方的DMP库得到四元数, 然后得出欧拉角
忙活了一下午搞定了MPU9250DMPF4的代码, 亲测能用, 误差不大.
网上找到一个DMP移植的文件, 原作地址:
作者: shaynerain
https://shaynerain.com/九轴陀螺仪mpu9250官方dmp移植/
但这哥们儿不一定是原作者, 在文件中发现的作者信息是:   王馨 @ UESTC, 2015/03/30

注意:
使用USART1串口上报数据, 复用为RX: PB7 TX: PB6;
IIC接口 SDAB9 SCLB8;
不间断读取DMP的值以防FIFO溢出;
使用TIM3的100ms中断在XCOM打印姿态角

XCOM截图.png


工程文件分享如下:
9250片上测试有DMP版本.rar (4.51 MB, 下载次数: 2923)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

81

帖子

0

精华

高级会员

Rank: 4

积分
590
金钱
590
注册时间
2013-11-13
在线时间
61 小时
发表于 2020-11-19 15:29:28 | 显示全部楼层
回复 支持 0 反对 1

使用道具 举报

0

主题

168

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
286
金钱
286
注册时间
2018-12-31
在线时间
12 小时
发表于 2019-3-4 08:46:06 | 显示全部楼层
很好的啊!!!!!!!
回复 支持 反对

使用道具 举报

5

主题

30

帖子

0

精华

高级会员

Rank: 4

积分
852
金钱
852
注册时间
2018-10-11
在线时间
69 小时
发表于 2019-4-5 07:47:54 | 显示全部楼层
支持

正需要
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2019-4-2
在线时间
1 小时
发表于 2019-4-5 09:12:15 | 显示全部楼层
很好的啊!!
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2019-4-14
在线时间
3 小时
发表于 2019-4-14 22:33:36 | 显示全部楼层
兄弟 ,有电机PWM程序吗 ?
回复 支持 反对

使用道具 举报

0

主题

295

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2019-3-26
在线时间
9 小时
发表于 2019-4-15 09:14:31 | 显示全部楼层
多谢分享!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2018-10-29
在线时间
7 小时
发表于 2020-5-10 14:49:00 | 显示全部楼层
厉害厉害
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2018-10-29
在线时间
7 小时
发表于 2020-5-23 09:01:51 | 显示全部楼层
大佬,初始化过了但是输出都是零是什么原因?
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2020-7-16
在线时间
16 小时
发表于 2020-7-23 17:06:50 | 显示全部楼层
谢谢,学习学习
回复 支持 反对

使用道具 举报

2

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2019-9-20
在线时间
102 小时
发表于 2020-7-24 13:28:03 | 显示全部楼层
楼主,磁力计值怎么和航向角(yaw)融合的呢?程序中好像把磁力计值(原始值)读出来,后面就没使用了
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2020-7-11
在线时间
16 小时
发表于 2020-8-26 10:41:41 | 显示全部楼层
提问 如果要修改IIC到PB10和PB11 ,达到相同的效果是不是只需要修改:
//IO方向
#define SDA_IN()  {GPIOB->MODER&=~(3<<(11*2));GPIOB->MODER|=0<<11*2;} //PB11输入模式
#define SDA_OUT() {GPIOB->MODER&=~(3<<(11*2));GPIOB->MODER|=1<<11*2;} //PB11输出模式
//IO方向设置
#define IIC_SCL    PBout(10) //SCL
#define IIC_SDA    PBout(11) //SDA  
#define READ_SDA   PBin(11)  //输入SDA
这个地方就可以了
回复 支持 反对

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2020-12-27
在线时间
72 小时
发表于 2021-2-19 14:42:05 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 12:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表