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)语句出了问题。

请指教

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。