试验中发现:不断进行循环读fiffo就可以得到正常数据。
形如这样
while(mpu_dmp_get_data(&pitch,&roll,&yaw)!=0);//返回值:0,DMP成功解出欧拉角 printf("pitch=%f\troll=%f\tyaw=%f\r\n",pitch,roll,yaw);
可知,mpu_dmp_get_data的返回值一直是1是因为读取速度太慢FIFO溢出的问题
解决办法:使用dmp中断,中断一次读一次这样就不会出现溢出的情况了。
res=dmp_set_interrupt_mode(DMP_INT_CONTINUOUS);//dmp continus int