DMP原本是MSP430的一个库,本次移植是从STM32F103移植到STM32L4。核心文件有四个,此外还移植了MPU6050的初始化函数与MPUIIC函数。因为写IIC比较麻烦,用宏定义把MPU6050.C用到的IIC操作定义为STM32L4的STM32iic.c的对应函数中。注意函数的一一对应与返回值。(WAITACK与ACK函数的返回值就不同)。
此外需要手写一个ms的延时函数,采用循环操作的方法,调试查看延时时间,适当修改循环次数即可。
pitch,roll,yaw的MPU6050模块内部计算好的,直接读出来即可。
KEIL打断点调试的方法解决问题很有用。
一些未解之谜:
主函数中的Osdelay不能在其它函数中调用,包括了所有的.h文件也不可以。
static的作用范围是仅限于定义所在的.c与.h文件吗?