MPU6050-DMP读不出数据

遇上一个很头疼的问题,MPU6050可以正常读取三个轴的数据,但是使用DMP方式读取数据时,会卡在这一句上

1
2
3
/* Get a packet. */
if (mpu_read_fifo_stream(dmp.packet_length, fifo_data, more))
return -1;

进入此函数,通过逐句debug,发现卡在这一句上了

1
2
if (!st.chip_cfg.dmp_on)
return -1;

问题来了,这说的是dmp没有打开啊??可是前面命名已经使能了DMP

于是打开百度,同样问题的解答有以下几点

  • MPU6050供电问题,经检查确实为3.3V,故排除
  • FIFO没有使能,经检查也有使能,排除

嘶 那问题出在哪呢

MPU6050不讲武德,它坏了

换一个芯片就好了

RNM退钱!