STM32硬件I2C问题
1.CUBEMX生成代码后I2C总线初始化一直出现 I2C_FLAG_BUSE
1.1 环境:
1.2 硬件I2C配置为默认,管脚如下
1.3 时钟等其他 配置完成后生成工程
1.4 添加代码
在i2c.c文件中的的void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)函数中添加如下代码
__I2C2_FORCE_RESET();
__I2C2_RELEASE_RESET();
实际如下图
1.5 完美解决I2C总线置位 I2C_FLAG_BUSY