1.HAL_GPIO_Init
这个函数主要用来初始化我们需要用到的引脚,设置其工作频率、工作模式、上下拉等参数。如果使用CubeMX配置工程,所有参数在Cube中调配,函数自动在工程中生成,无需要手动初始化。
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
例: HAL_GPIO_Init(GPIOB,&GPIO_InitStruct)
类似于标准库,如下自设参数
GPIO_InitTypeDef GPIO_InitStruct; //结构体命名为GPIO_InitStruct
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //红色灯使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); //绿色灯使能
//初始化设置参数
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOE,&GPIO_InitStruct);
2.HAL_GPIO_DeInit
HAL_GPIO_Init能够实现对GPIO的初始化,那么HAL_GPIO_DeInit就是与其相反的操作,能够将GPIO口恢复至默认状态,即各个寄存器复位时的值
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t