正在搞六轴传感器,今天移植了MPU6050的MothionDriver的DMP固件到STM32上了,能够稳定地输出欧拉角(也就是俯仰角、航向角、横滚角)和XYZ三轴加速度值,在电脑的上位机模拟了装置的姿态(DMP固件的功能之一:在MPU6050芯片内部进行姿态结算融合,大大减轻MCU的负担)。
DMP的移植一开始卡在了dmp_load_motion_driver_firmware()加载固件那里了,二进制的固件代码写进去和读出来不一样,后来发现是I2C的问题,果断使用了别人的I2C代码(圆点博士),成功了。
Invensense的移植工作做的很好,其实熟练的话,一个小时便可以移植完毕。接下来是DMP优化(因为移植有很多功能是冗余的),以及计算装置移动位移。