HAL_I2C_MspInit()中,为何先call HAL_GPIO_Init()之后再enable I2C clock
由cube产生的HAL_MSP档案中, 为何先call HAL_GPIO_Init()之后再enable I2C clock其他如SPI都是先enable clock之后再call HAL_GPIO_Init()
HAL_I2C_MspInit()
{
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
__HAL_RCC_I2C1_CLK_ENABLE();
}
HAL_SPI_MspInit()
{
__HAL_RCC_SPI2_CLK_ENABLE();
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
你可以给I2C SCL、SDA数据线上挂上示波器观察一下初始化过程, HAL_GPIO_Init()和enable I2C clock先后顺序,看看波形有什么不一样吗。
如果波形相同,都是一直保持1,那么先后顺序无所谓。
页:
[1]