使用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
修改完成后,初始化顺利通过!
标签:GPIOB,cur,MPU6050,write,ii,GPIO,CRH,固件 From: https://www.cnblogs.com/dyw2000/p/18064705