基于HAL库的STM32笔记——GPIO

📅 2026/6/30 5:45:43
基于HAL库的STM32笔记——GPIO
01.GPIO简介GPIOGeneral Purpose Input Output是一种通用的输入输出接口用于控制硬件设备。支持4种输入模式浮空输入、上拉输入、下拉输入、模拟输入和4种输出模式开漏输出、开漏复用输出、推挽输出、推挽复用输出。同时GPIO还支持三种最大翻转速度2MHz、10MHz、50MHz。模式名称特征典型应用浮空输入GPIO_Mode_IN_FLOATING可读取引脚电平若引脚悬空则电平不确定外部有固定电平的信号如串口RX上拉输入GPIO_Mode_IPU可读取引脚电平内部连接上拉电阻悬空时默认高电平按键、NPN型传感器下拉输入GPIO_Mode_IPD可读取引脚电平内部连接下拉电阻悬空时默认低电平PNP型传感器、高电平触发信号模拟输入GPIO_Mode_AINGPIO无效引脚直接接入内部ADC电位器、温度、湿度开漏输出GPIO_Mode_Out_OD可输出引脚电平高电平为高阻态低电平接VSSIIC总线、线与功能、共阳极LED推挽输出GPIO_Mode_Out_PP可输出引脚电平高电平接VCC低电平接GNDLED、串口TX、小型继电器复用功能的推挽输出GPIO_Mode_AF_PP由片上外设控制高电平接VDD.低电平接VSSI2C_SDA/SCL、SPI_MISO复用功能的开漏输出GPIO_Mode_AF_OD由片上外设控制高电平为高阻态低电平接VSSUART_TX、SPI_MOSI、PWM输出关于详细的介绍可以查看相关博主8种工作模式的内部电路https://blog.csdn.net/qq_38410730/article/details/79858906推挽输出和开漏输出区别https://blog.csdn.net/MANONGDKY/article/details/15447701802.配置GPIO用到的库函数函数名功能说明HAL_GPIO_Init();初始化引脚工作模式HAL_GPIO_DeInit();恢复引脚为默认状态HAL_GPIO_ReadPin();读取引脚电平HAL_GPIO_WritePin();给引脚写0或1HAL_GPIO_TogglePin();翻转引脚电平HAL_GPIO_LockPin();锁定引脚电平HAL_GPIO_EXTI_IRQHandler();外部中断服务函数HAL_GPIO_EXTI_Callback();重写中断回调函数03.搭建环境主要软件STM32CubeMX、Keil在STM32CubeMX中配置好便可以生成Keil工程