MPU6050 memcmp(firmware+ii, cur, this_write)初始化问题|MPU6050固件库加载问题

使用MPU6050 dmp固件库时候报错:MPU6050固件库加载,最后运行到 “memcmp(firmware+ii, cur, this_write)”无法通过!
从网上查找了相同问题的解答,发现修改了IIc SDA 与 SCL 端口 但是头文件的中的宏定义没有修改

未修改之前的端口:

修改之后的端口:

这里在修改宏定义的时候遇到了些问题,自己对寄存器的操作很生疏
通过查找手册弄明白了这两段代码的含义:


这里选择 端口配置高寄存器(GPIOx_CRH) (x=A..E) 也就是高八位 对应 GPIO_pin(8-15)

GPIOB->CRH &= 0xFFFF0FFF; // 清除GPIO_11原来的配置
GPIOB->CRH |= 8 << 12;    // 设置上拉/下拉输入模式
GPIOB->CRH|=3<<12;       // 设置通用推完输出模式,速度50hz
GPIOB->CRH &= 0xFFFFFF0F; // 清除GPIO_9原来的配置
GPIOB->CRH |= 8 << 4;    // 设置为上拉/下拉输入模式
GPIOB->CRH|=3<<4;       // 设置通用推完输出模式,速度50hz

修改完成后,初始化顺利通过!

posted @ 2024-03-10 20:23  DYW666  阅读(439)  评论(0)    收藏  举报