OpenEdv-开源电子网

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

MPU 6050 无法读出数据(stm32f407zgt6)

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-6-15
在线时间
23 小时
发表于 2017-11-16 19:49:53 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 sc1884 于 2017-11-16 19:56 编辑

一块407zg板子,接了个6050,其其余初始化正常,但是最后无法读出数据,mpu_dmp_get_data语句进不去mpu_dmp_get_data->dmp_read_fifo->mpu_read_fifo_stream->if (!st.chip_cfg.dmp_on) 这里的问题
具体如下
   if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)
这行代码始终进不去if,跟进去看u8 mpu_dmp_get_data(float *pitch,float *roll,float *yaw)
{
        float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;
        unsigned long sensor_timestamp;
        short gyro[3], accel[3], sensors;
        unsigned char more;
        long quat[4];
        if(dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more))
                return 1;      
到这里就返回了,dmp_read_fifo这个函数里面有个
  if (mpu_read_fifo_stream(dmp.packet_length, fifo_data, more))
int mpu_read_fifo_stream(unsigned short length, unsigned char *data, unsigned char *more)
{
    unsigned char tmp[2];
    unsigned short fifo_count;
    if (!st.chip_cfg.dmp_on)
        return -1;
最终是if (!st.chip_cfg.dmp_on)语句出了问题。

请指教

最佳答案

查看完整内容[请看2#楼]

换了一个十几块的最普通的6050就可以了,之前的是自带卡尔曼滤波的一个6050 ,50来块,串口输出姿态数据OK的,我读它的i2c脚就不大正常,暂不知为何。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-6-15
在线时间
23 小时
 楼主| 发表于 2017-11-16 19:49:54 | 显示全部楼层
换了一个十几块的最普通的6050就可以了,之前的是自带卡尔曼滤波的一个6050 ,50来块,串口输出姿态数据OK的,我读它的i2c脚就不大正常,暂不知为何。
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-6-15
在线时间
23 小时
 楼主| 发表于 2017-11-16 19:55:01 | 显示全部楼层
。。。。。。。。。。。。。。。。
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-6-15
在线时间
23 小时
 楼主| 发表于 2017-11-16 20:29:33 | 显示全部楼层
本帖最后由 sc1884 于 2017-11-16 20:34 编辑

http://bbs.21ic.com/icview-1127282-1-1.html
这个帖子遇到了同样的问题,都是原子的代码
但是我改了代码使能FIFO
MPU_Write_Byte(MPU_FIFO_EN_REG,0X01);        //使能FIFO
依旧错误,不知为何
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-11-16 21:58:57 | 显示全部楼层
帮顶
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2017-6-15
在线时间
23 小时
 楼主| 发表于 2017-11-17 09:22:14 | 显示全部楼层
这个chip_cfg.dmp_on是一个缓冲芯片配置结构体里的,貌似说明dmp_on没有打开,这点很疑惑
回复

使用道具 举报

18

主题

190

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1068
金钱
1068
注册时间
2012-6-18
在线时间
158 小时
发表于 2017-11-18 17:47:06 | 显示全部楼层
软i2c没有看波形的设备最好别玩,IIC总线从32k到100K 400K 时序间隔不兼容。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-7-17
在线时间
3 小时
发表于 2020-1-28 12:50:19 | 显示全部楼层
楼主 我也是这样的问题  请问怎么解决的 ?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-19 22:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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