一直想做平衡小车,但是因为mpu的dmp库的hal库的资料不好用,老是搞不定,这个项目就搁置了一年。经过查找一系列的资料,终于能读了,在这就算做一个资料整合,也怕以后又不会用了,留给自己看。
一、cube配置
mpu配置
oled配置
其他配置我就省略了
二、硬件连接
硬件连接上,mpu的vcc,gnd正常连,再连两根iic线即可。oled的vcc,gnd正常连,DO和D1连spi的两根线,剩下三个,普通gpio输出,我是A9,A10,A11
三、代码
接下来是激动人心的代码
注意检查一下,i2c的初始化一定要是高速模式,cubemx这里好像有些问题
我的dmp的初始化这里有问题,查到最后发现HAL_I2C_Mem_Write()一直返回BUSY,后来改了iic的高速模式就好了,但是又出现了其他问题,我今天正准备查呢,结果它自己又突然好了!果然,高端的代码会自己给自己修bug,既然这样,我就不管了。
oled的引脚移植的时候要自己改一下
主函数
四、测试视频
stm32:mpu6050 dmp库+oled
虽然记录下来好像很简单,但实际操作的时候遇到了很多问题,特别是mpu的dmp,以至于我搁置了一年,在这里我就只能祝大家好运了。
全部工程链接:https://pan.baidu.com/s/1t4tejiWuQKs8k5U8VxqHvw
提取码:6263