在TI M0系列芯片使用MPU6050模块时会卡在MPU6050_Init()中
在接线以及IO配置都正确的情况下:
分析原因:
对卡死的位置进行断点处理,
发现会卡在这个位置,在中间加上delay_ms(5);延时后这个位置通过;
继续断点依然会卡,总共会卡三次。
解决问题:
在bsp_mpu6050.c文件下修改以下三处代码:添加delay_ms(5)延时
第一处:
char MPU6050_WriteReg(uint8_t addr,uint8_t regaddr,uint8_t num,uint8_t *regdata)函数中
第二处和第三处:
char MPU6050_ReadData(uint8_t addr, uint8_t regaddr,uint8_t num,uint8_t* Read)函数中
此时在运行程序,发现mpu_dmp_init()会花长时间运行,不过总算能够解决了。