摘要:本文以STM32为例,深入讲解GPIO的配置方法及使用技巧,提供HAL库和标准库两种实现代码,并附带LED和按键的实战例程。适合STM32初学者快速掌握GPIO操作。
一、GPIO基础概念
1.1 什么是GPIO?
GPIO(General Purpose Input Output)即通用输入输出端口,是MCU与外部设备进行数字信号交互的核心接口。STM32的每个GPIO引脚可通过编程配置为多种工作模式。
1.2 GPIO主要功能
-
数字输入:检测按键、传感器信号
-
数字输出:控制LED、继电器
-
复用功能:用于SPI/I2C/UART等外设
-
模拟输入:ADC采集模拟信号
二、GPIO配置详解
2.1 配置步骤(基于HAL库)
2.1.1 使能时钟
__HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟
重点提示:STM32外设使用前必须使能时钟!这是新手最常忽略的问题!
2.1.2 初始化结构体配置
GPIO_InitTypeDef GPIO_InitStruct = {0};
// 以PA5配置为推挽输出为例:
GPIO_InitStruct.Pin = GPIO_PIN_5; // 选择引脚5
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //