GPIO概述与点亮LED
在本次实例中,我们将讨论 STM32 GPIO 硬件。 它是如何工作的以及有哪些功能,因此可以以最佳方式对其进行配置以满足应用程序需求。 我们将进入 GPIO 速度、替代功能、锁定机制和不同的可能配置。
1、STM32的GPIO端口介绍
在STM32中,每个通用 I/O 端口有两个 32 位配置寄存器、两个 32 位数据寄存器、一个 32 位设置/复位寄存器、一个 16 位复位寄存器和一个 32 位锁定寄存器。 每个 I/O 端口位均可自由编程,但是,I/O 端口寄存器必须以 32 位字的形式访问(不允许半字或字节访问)。 设置/复位寄存器的目的是允许对任何 GPIO 寄存器进行原子读/修改访问。 这样,就没有在读取和修改访问之间发生 IRQ 的风险。
一个典型的 GPIO 引脚内部结构的数字图。 它显示了二极管保护、内部上拉或下拉启用/禁用,以及推挽输出驱动器、用于在输入/输出引脚模式之间切换的输出启用/禁用、施密特触发的数字输入、模拟输入。