MPU 6050 无法读出数据(stm32f407zgt6)

2019-07-20 10:55发布

本帖最后由 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)语句出了问题。

请指教

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
sc1884
1楼-- · 2019-07-20 13:52
换了一个十几块的最普通的6050就可以了,之前的是自带卡尔曼滤波的一个6050 ,50来块,串口输出姿态数据OK的,我读它的i2c脚就不大正常,暂不知为何。
sc1884
2楼-- · 2019-07-20 18:56
 精彩回答 2  元偷偷看……
sc1884
3楼-- · 2019-07-20 22:47
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-20 23:29
帮顶
sc1884
5楼-- · 2019-07-20 23:43
这个chip_cfg.dmp_on是一个缓冲芯片配置结构体里的,貌似说明dmp_on没有打开,这点很疑惑
bg8wj
6楼-- · 2019-07-21 01:28
 精彩回答 2  元偷偷看……

一周热门 更多>