最近是在学习通过MPU6050六轴传感器采集数据,经过STM32的处理最后通过蓝牙作为串口以20字节以内的方式发送出去,最后通过手机手机上的蓝牙接收。
在学习这些东西的东西一开是很吃力,因为自己以前并没有接触这些东西,后来还是慢慢的去学习。还有很多不明白,我仅贴出几个重要的函数。
inv_mpu.c和inv_dmp_motion_driver.c。其中在inv_dmp.c中添加了mpu_dmp_init()和mpu_dmp_get_data()函数来实现
MPU的初始化和读取姿态结算后的数据。
mpu_dmp_init();中包含了一些对dmp的初始化和对一些其他参数的处理代码如下:
mpu_dmp_get_data();用于得到dmp处理后的数据,这里得到的四元数是有两位有效数字的,使4个字节的数据转化
为1个字节的数据,具体代码如下:
加速度原始值通过以下函数得到,得到的不是我所要的加速度只是原始数据:
角速度原始值通过以下函数得到,得到的不是我所要的角速度只是原始数据:
而inv_dmp_motion_driver.c可以参考整点原子的代码。