voidMy_I2C_Init(I2C_TypeDef*I2Cx,I2C_InitTypeDef*I2C_InitStruct){ GPIO_InitTypeDef GPIO_InitStructure; // 使能 I2C 和 GPIO 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE); // 配置 I2C SCL 和 SDA 引脚 GPIO_InitStructure.GPIO_...
初始化代码是让I2C正常工作的关键步骤。开启I2C外设与对应GPIO口的时钟,如同为整个系统注入动力,使其开始运转。将I2C外设对应的GPIO口初始化为复用开漏输出模式,这种模式既能实现对外设的控制,又能保证信号的稳定性。使用结构体对整个I2C进行配置,详细设置诸如通信速率、地址模式等参数,最后使能I2C,完成初始化过程,让系...