API
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
设置GPIO模式,这个就是最重要的API了,
GPIO 具有以下模式
#define GPIO_MODE_INPUT 浮空输入模式,既不上拉也不下拉.该状态下IO功耗为理论值0.
#define GPIO_MODE_OUTPUT_PP 推挽输出模式,IO可以输出大电流的高低电平.
#define GPIO_MODE_OUTPUT_OD 开漏输出模式,IO输出0接GND,IO输出1,浮空.
#define GPIO_MODE_AF_PP 复用功能的推挽输出,比如将I2C的输出设置为推挽输出.
#define GPIO_MODE_AF_OD 复用功能的开漏输出,比如将I2C的输出设置为开漏输出.
#define GPIO_MODE_AF_INPUT 等价于浮空输入模式
#define GPIO_MODE_ANALOG 模拟输入,作为一个电压数值输入到MCU,而不是高低电平状态,关闭上下拉电阻,该状态下IO功耗为理论值0.输出和输入的寄存器被置0.
#define GPIO_MODE_IT_RISING 设置为输入上升沿产生中断.
#define GPIO_MODE_IT_FALLING 设置为输入下降沿产生中断.
#define GPIO_MODE_IT_RISING_FAL