試驗中發現:不斷進行循環讀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