OpenEdv-开源电子网

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

MPU6050不讲武德,FIFO溢出始终无法解决,提高或降低读取速度都不得行

[复制链接]

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-3-1
在线时间
2 小时
发表于 2021-3-1 18:34:50 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 linstcl 于 2021-3-1 18:37 编辑

抄了原子哥的驱动代码,放在了c8t6最小系统板上去跑,一切正常,自检原本通过不了,一顿操作后可以通过了,加速度角速度读取也OK,唯独读取FIFO中的数据读不出来具体为mpu_dmp_get_data(&pitch,&roll,&yaw)这个函数跑不出来,进一步检查,发现是
1.png
这个代码段出不去,明显的FIFO溢出
我一个while循环直接把读取速度干到最快,结果还是过不去
2.png
接下来,我参考了一片据传【启蒙无数人】的神贴,说是读取速度太快也不行,我直接一个delay_us函数把读取速度干慢,结果自然不用多说
3.png
接下来,自然是按照传统规矩,点到为止,我改变了代码结构,跳过获取欧拉角直接获取加速度角速度,发现竟然是好的,我说这6050不讲武德,怀疑是FIFO问题,仔细检查后发现
初始化代码中有关闭FIFO的代码
4.png
但是这无关紧要呀,因为在mpu_dmp_init()函数中又用如下函数打开了
5.png
我将信将疑的把上面关闭FIFO的函数改为0XFF和0X01都试了一遍,结果不必多说

现在这6050都把我干懵逼了,难道是6050固件坏了?FIFO坏了???

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-5-11
在线时间
16 小时
发表于 2021-3-7 15:01:50 | 显示全部楼层
你的6050可能坏了,再买一个吧,我的原子哥ZET6直接能用
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2021-3-1
在线时间
2 小时
 楼主| 发表于 2021-3-21 14:40:43 | 显示全部楼层
帅鑫i 发表于 2021-3-7 15:01
你的6050可能坏了,再买一个吧,我的原子哥ZET6直接能用

重新买了,还是不行呀
回复

使用道具 举报

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2020-6-23
在线时间
20 小时
发表于 2021-3-25 16:43:35 | 显示全部楼层
我想问一下,如果只读取6050的原始数据的话,关掉FIFO也可以吧?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-6-10 18:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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