小白stm32入门教程学习记录:3-1GPIO输出

📅 2026/6/26 20:33:18
小白stm32入门教程学习记录:3-1GPIO输出
GPIO简介GPIOGeneral Purpose Input Output通用输入输出口可配置为8种输入输出模式引脚电平0V~3.3V部分引脚可容忍5V输出模式下可控制端口输出高低电平用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等引脚电平0V~3.3V部分引脚可容忍5V什么是 5V 容忍FT Five-Volt TolerantSTM32 芯片供电是3.3V普通 IO 引脚最高只能输入 3.6V超过会击穿内部二极管、烧坏芯片标有FT的引脚内部做了特殊耐压电路输入模式下可以直接接 5V 电平不会烧毁芯片。只有配置成【输入模式】时FT 引脚才支持 5V 输入一旦配置成推挽输出绝对不能外接 5VGPIO基本结构APB2 总线紫色双向箭头APB2 是 STM32 高速外设总线GPIOA、GPIOB、GPIOC、GPIOD、GPIOE全部挂载在这条总线上。作用CPU 通过 APB2 总线读写 GPIO 内部寄存器实现引脚配置、电平读写。黄色双向箭头寄存器 ↔ 驱动器CPU 改写寄存器配置后寄存器会控制驱动器电路切换工作模式外部引脚电平变化也会通过驱动器反馈存入 IDR 输入寄存器实现双向信号交互。模式本质配置 GPIO 模式本质是修改寄存器切换驱动器内部 MOS、上下拉电阻的通断GPIO模式上拉输入IPU Input Pull-Up内部自带上拉电阻的输入模式引脚作为输入用来读取外部按键、传感器高低电平芯片内部集成一个上拉电阻约 30~50KΩ接到 3.3V外部没接东西时内部电阻自动把引脚拉到高电平不会浮空乱跳。STM32 通用推挽输出GPIO_Mode_Out_PP先拆开两个词推挽 通用输出推挽Push-PullGPIO 内部有两个 MOS 管上管接 VCC高电平下管接 GND低电平输出高电平上管导通下管截止→ 引脚直接拉到 3.3V输出低电平下管导通上管截止 → 引脚直接拉到 0V一推一拉所以叫推挽用 STM32 GPIO 控制重点你做外设驱动会用到场景 1NPN 三极管驱动负载继电器 / LED图片下方接线发射极E → GND有箭头的一方基极B → GPIO 引脚串联 1k 限流电阻集电极C → 负载负极负载正极接 3.3V/5V控制逻辑GPIO 输出高电平 (3.3V)Vb3.3V Ve0V → 三极管导通负载通电工作GPIO 输出低电平 (0V)VbVe → 三极管截止负载断电适配 STM32 推挽输出最常用方案场景 2PNP 三极管驱动负载图片上方接线E → 3.3V/5VB → GPIO 引脚串联 1k 限流电阻C → 负载正极负载负极接 GND控制逻辑GPIO 输出低电平 (0V)Ve3.3V Vb0V → 三极管导通负载通电GPIO 输出高电平 (3.3V)VeVb → 三极管截止负载断电注意3.3V 单片机控制 PNP最大只能切换 3.3V 负载若要控制 5V 负载需搭配电平转换。