用途:在不依赖 HAL 的情况下直接配置和使用 GPIO,包括输入/输出模式、复用功能映射、上拉/下拉、速度/压摆率以及引脚变化中断,用于点灯、读按键和外设引脚复用。
适用时机:在启用 UART/SPI 之前先点灯或读按键;把引脚复用为 USART/SPI 复用功能;在引脚边沿上使用 EXTI 中断;在不同厂商之间移植 GPIO 代码。
典型用法(STM32):先使能时钟,例如 RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; 配置输出可写 GPIOA->MODER,原子置位/复位用 GPIOA->BSRR = (1U << 5); 与 GPIOA->BSRR = (1U << (5+16)); 复用功能需设置 MODER 的 AF 模式并填写对应 AFR 半字节(如 AF7 = USART2)。输入上拉可配置 GPIOC->MODER 与 GPIOC->PUPDR,读取用 GPIOC->IDR 并按低有效取反。EXTI 需通过 SYSCFG 映射端口,设置 EXTI->IMR、EXTI->FTSR,并调用 NVIC_EnableIRQ;在 ISR 中检查 EXTI->PR 并以写 1 清除。
其他平台:nRF52 使用 NRF_P0->PIN_CNF[n] 配置方向、上拉和驱动;ESP32 使用 GPIO.out_w1ts、GPIO.enable,函数复用通过 IO_MUX。配置引脚前务必先使能外设时钟或电源域。
常见问题:引脚无反应多为 MODER 或复用设置错误;EXTI 抖动多因未去抖或输入悬空;复用不匹配常为 AFR 半字节选错;看不到翻转应检查端口位与 LED 低有效极性。调用示例:/gpio-baremetal Configure PA2 as USART2 TX alternate function on STM32F4。本资料未提供安装命令、收费方式或平台限制等额外信息。