第 1 章:数字 I/O 与串口通信(GPIO UART)
本章目标:
-
掌握 GPIO 的硬件原理、寄存器配置与典型驱动框架
-
深入理解 UART/USART 的帧格式、波特率配置、中断与 DMA 驱动
-
通过实战案例,将 GPIO 与 UART 结合,实现 AT 命令式外设控制
章节结构
GPIO 概述与硬件原理
GPIO 驱动实现:寄存器、中断与去抖
UART/USART 原理与帧格式
UART 波特率与时钟配置
UART 中断与 DMA 驱动
综合案例:通过 UART 控制 LED 与读取按键
小结与 Q&A
1.1 GPIO 概述与硬件原理
1.1.1 GPIO 的定位与作用
-
定义:通用输入/输出(General-Purpose Input/Output)
-
功能:将处理器的数字端口配置为“输入”或“输出”,用于按键扫描、LED 驱动、继电器控制、外部中断等
-
特点:
-
最低速、最简单的数字信号接口
-
支持拉 up/down 、电平触发中断、输出开漏/推挽
-
1.1.2 GPIO 的硬件结构
以典型 STM32 GPIO 端口为例,每 port 包含 16 个 pin ,结构示意:
┌─────────────────────────────────┐│ GPIOx Controller ││ ┌──────┐ ┌──────┐ ┌──────┐ ││ │ MODER│ │ OTYPER││ PUPDR│ ... ││ └──────┘ └──────┘ └──────┘ ││ ┌─────────┐ ┌─────────┐ ││ │ IDR (IN) │ │ ODR (OUT)│ ││ └─────────┘ └─────────┘ │└─────────────────────────────────┘
-
MODER:模式寄存器,控制每个 pin 的输入/输出/复用/模拟
-
OTYPER:输出类型,推挽(Push-Pull)或开漏(Open-Drain)
-
OSPEEDR:输出速度,影响上升/下降沿速度
-
PUPDR:上下拉配置,设定输入时的默认电平
-
IDR / ODR:输入数据寄存器 / 输出数据寄存器
-
EXTI:外部中断控制器,与 AF(复用功能)协同实现中断触发
<