STM32F103C8T6--深入GPIO

STM32 的 GPIO(General-Purpose Input/Output)即通用输入输出端口,是微控制器与外部世界交互的基础接口。通过 GPIO,可实现数字信号的读取(如按键输入)、输出(如 LED 控制),或配置为特殊功能(如 I2C、SPI 通信)。

GPIO 并非单一引脚,而是由 "引脚 + 配套电路 + 寄存器" 组成的最小功能模块。其硬件结构决定了它能实现输入和输出两种核心功能。

GPIO基本结构

I/O端口基本结构

8种输入输出模式

cpp 复制代码
typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

保护电路

最右侧保护电路,当I/O pin输入电压高于上方VDD,保护二极管导通,把电流引入电源网络,低于下方VSS时,虽然二极管向上,但是波动电压实际是引入VSS进入GND。

对于5V容忍引脚,上分VDD从3.3V变为5V。下方FT为5V容忍标记。

输出电路

推挽输出(Push-Pull):输出控制P-MOS导通,VDD输出3.3V,输出控制N-MOS导通,接地0V

开漏输出(Open-Drain):只能控制N-MOS的导通,N-MOS关闭则断路,仅能拉低电平,需要外接上拉电阻才能输出高电平,或者当做地端使用。

复用开漏输出(Alternate Function Open-Drain):片上外设控制。

复用推挽输出(Alternate Function Push-Pull):片上外设控制。

输入电路

施密特触发器(Schmitt trigger):用于处理波动,只要大于施密特上限就转为高电平判定,只要低于施密特下限才转换为低电平判定,中间状态不改变判定。

模拟输入(Analog Input Mode):在这种模式下,引脚用于接收模拟信号(例如传感器输出的电压值),不经过施密特触发器。

浮空输入(Floating):无上下拉,用于读取外部不确定电平。

下拉输入(Pull-down):默认为低电平(低电平VSS的开关接通,即下拉电阻接通,默认就是VSS),当外部信号触发时读取高电平。

上拉输入(Pull-up):默认为高电平,当按键按下并接地时读取低电平。

相关推荐
Wave8451 天前
基于 STM32 + ESP8266 + W25Q64 的双核 OTA 底层架构总结
stm32·嵌入式硬件·架构
xiangw@GZ1 天前
WiFi 全世代(WiFi1~WiFi7)技术规范与核心参数总结
嵌入式硬件
振南的单片机世界1 天前
CPU时钟:频率越高跑越快,但物理极限在“拖后腿”
stm32·单片机·嵌入式硬件
普中科技1 天前
【普中 51-Ai8051 开发攻略】-- 第 20 章 输入捕获实验
单片机·嵌入式硬件·输入捕获·pca·普中科技·ai8051u·aicube
d111111111d1 天前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
d111111111d1 天前
了解Modbus
网络·笔记·stm32·单片机·嵌入式硬件·学习
三佛科技-134163842121 天前
主控FT32F031便携式吸尘器方案,迷你手持吸尘器MCU控制方案开发
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
一个平凡而乐于分享的小比特1 天前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发
踏着七彩祥云的小丑1 天前
嵌入式——认识电子元器件——微动开关系列
单片机·嵌入式硬件
调光IC-小雅1 天前
解析FP62××系列限流保护机制:为何它是DC/DC芯片的安全底线
单片机·嵌入式硬件