STM32 GPIO 基础
GPIO(General Purpose Input/Output)是 STM32 最基础也是最常用的外设。本文将详细介绍 GPIO 的工作原理和配置方法。
GPIO 工作模式
- 输入模式:浮空输入、上拉输入、下拉输入、模拟输入
- 输出模式:推挽输出、开漏输出、复用推挽、复用开漏
配置示例
// 初始化 GPIOA 的 Pin 5 为推挽输出
GPIO_InitTypeDef GPIO_InitStruct = {0};
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_5;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
寄存器操作
除了使用 HAL 库,我们也可以直接操作寄存器来控制 GPIO,这样效率更高。
总结
掌握 GPIO 是学习 STM32 的第一步,后续的串口、SPI、I2C 等外设都建立在 GPIO 的基础上。