1.配置流程
(1)时钟使能
(2)结构体赋值
(3)写入寄存器
2.配置说明
2.1需要先明确使能的时钟属于哪一组GPIO,然后调用HAL函数库中的使能函数进行使能。
__GPIOA_CLK_ENABLE(); //使能GPIOA时钟
2.2结构体赋值
在HAL库中stm32f7xx_hal.gpio.h文件中,可以看到GPIO_InitTypeDef结构体定义,如下:
typedef struct
{
uint32_t Pin; //指定 IO 口
uint32_t Mode; //模式设置
uint32_t Pull; //上下拉设置
uint32_t Speed; //速度设置
uint32_t Alternate;//复用映射配置
}GPIO_InitTypeDef;
赋值说明
(1)Pin:指定IO口
(2)Mode:模式设置,输入输出模式一共有以下8种
GPIO_Mode_AIN /*模拟输入,特点:应用ADC模拟输入,或者低功耗下省电*/
GPIO_Mode_IN_FLOATING /*浮空输入,特点:浮空输入一般多用于外部按键输入,IO的电平状态是不确定
的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的*/
GPIO_Mode_IPD /*下拉输入,特点:默认低电平*/
GPIO_Mode_IPU /*上拉输入,特点:默认高电平*/
GPIO_Mode_Out_OD /*开漏输出,特点:IO输出0接GND,IO输出1,悬空;接上拉电阻才可以输出高
电平,上升沿速度慢。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内