通用复用功能I/O GPIO&AFIO
GPIO功能描述
数据手册中列出的每个I/O端口的特定硬件特征, GPIO端口的每个位可以由软件分别配置成多种模式
─ 输入浮空
─ 输入上拉
─ 输入下拉
─ 模拟输入
─ 开漏输出
─ 推挽式输出
─ 推挽式复用功能
─ 开漏复用功能
I/O端口位的基本结构

GPIO常用HAL库代码LIST
stm32f1xx_hal_gpio.c
//GPIO端口及引脚初始化函数
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
//GPIO端口及引脚复位函数
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);
//读pin状态
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
//写pin状态
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
//翻转pin电平
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
//锁定pin配置
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
//GPIO外部中断服务函数
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
//GPIO外部中断回调函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
stm32f1xx_hal_gpio.h
#define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__);//产生软件外部中断
stm32f1xx_hal_gpio_ex.c
void HAL_GPIOEx_ConfigEventout(uint32_t GPIO_PortSource, uint32_t GPIO_PinSource);事件输出配置
void HAL_GPIOEx_EnableEventout(void);使能事件输出
void HAL_GPIOEx_DisableEventout(void);失能事件输出
stm32f1xx_hal_gpio_ex.h
此文件中主要包含片上外设输入输出引脚的重映射功能宏定义
Author :HU&DA