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):默认为高电平,当按键按下并接地时读取低电平。

相关推荐
icy、泡芙2 小时前
移远 5G RG255AA-CN 调试
linux·单片机·5g
时空自由民.2 小时前
MCU 内存栈介绍和内存段
单片机·嵌入式硬件
YeGop2 小时前
51单片机定时器函数分享(8051汇编)
汇编·嵌入式硬件·51单片机
许嵩663 小时前
virtual_clock
单片机·嵌入式硬件
EVERSPIN3 小时前
N32H高性能32位MCU在具身机器人上的应用
单片机·嵌入式硬件·机器人·32位mcu·高性能32位mcu·n32h系列
泰勒朗斯3 小时前
STM32 几种烧录方式
stm32·单片机·嵌入式硬件
清风6666664 小时前
基于单片机的多波形信号发生器设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
深圳市青牛科技实业有限公司 小芋圆5 小时前
30V N 沟道 MOSFET SP30N06NK 全面解析:参数、特性与应用场景
人工智能·单片机·嵌入式硬件·无人机·高频dc-dc谐振变换器·笔记本电脑开合检测
清风6666666 小时前
基于单片机的汽车多参数安全检测与报警系统设计
单片机·安全·汽车·毕业设计·课程设计·期末大作业
YeGop6 小时前
51单片机汇编实现DHT11读取温湿度
汇编·嵌入式硬件·51单片机