gpio完整速查卡

GPIO完整速查卡(标准库 F103)

一、八大模式

模式 名称 典型场景
GPIO_Mode_AF_PP 复用推挽输出 UART/SPI/PWM/CAN
GPIO_Mode_AF_OD 复用开漏输出 I2C(需外部上拉)
GPIO_Mode_Out_PP 推挽输出 LED/蜂鸣器/CS/继电器/MOSFET
GPIO_Mode_Out_OD 开漏输出 电平转换(需上拉)
GPIO_Mode_IN_FLOATING 浮空输入 UART_RX/外部确定电平信号
GPIO_Mode_IPU 上拉输入 按键(低有效)
GPIO_Mode_IPD 下拉输入 按键(高有效)
GPIO_Mode_AIN 模拟输入 ADC/DAC

二、各协议/外设配置

功能 引脚 模式 初始电平
UART TX AF_PP 不涉及
RX IN_FLOATING 不涉及
SPI(主机) SCK/MOSI/MISO AF_PP 不涉及
CS Out_PP Bit_SET(无效态)
SPI(从机) SCK/MOSI IN_FLOATING 不涉及
MISO AF_PP 不涉及
I2C SCL/SDA AF_OD + 上拉 不涉及
CAN TX/RX AF_PP 不涉及
PWM 输出 AF_PP 不涉及(由定时器控制)
ADC 输入 AIN 不涉及
MOSFET 栅极 Out_PP Bit_RESET(默认关断)
继电器 控制 Out_PP Bit_RESET(默认断开)
LED(低有效) 输出 Out_PP Bit_SET(默认熄灭)
LED(高有效) 输出 Out_PP Bit_RESET(默认熄灭)
按键(低有效) 输入 IPU 不涉及
按键(高有效) 输入 IPD 不涉及

三、操作模板

c 复制代码
// 通用初始化步骤
GPIO_InitTypeDef gpio;

// 1. 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

// 2. 输出类:先设电平
GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET);  // 或 Bit_SET

// 3. 再初始化
gpio.GPIO_Pin = GPIO_Pin_0;
gpio.GPIO_Mode = GPIO_Mode_Out_PP;  // 根据场景改模式
gpio.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &gpio);

// 读写
GPIO_SetBits(GPIOA, GPIO_Pin_0);     // 高
GPIO_ResetBits(GPIOA, GPIO_Pin_0);   // 低
uint8_t val = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0);

四、低功耗关键

  • 配置顺序:先设ODR电平 → 再Init(避免配置过程毛刺)
  • 输出模式:电平必须与外部电路一致,否则漏电
  • 输入模式:禁止浮空(IN_FLOATING),用IPU/IPD或外部上拉/下拉
  • 未用引脚:配成IPUIPD(推挽输出也可能漏电)

五、速记口诀

输出设电平,输入防悬空,模拟只AIN,开漏仅I2C,MOS/继电先关断。

相关推荐
星栖与芯6 小时前
LiteOS-M 切换汇编逐行图解(4):中断三件套与 HalTaskSchedule 触发
汇编·stm32·单片机·嵌入式硬件·harmonyos
G***技12 小时前
告别物联网碎片化:杰和LH707+LM2-100-V0联合方案给出标准答案
人工智能·嵌入式硬件
SKH.13 小时前
ARM汇编
嵌入式硬件·arm
深圳市恒锐丰科技杨生14 小时前
EG2134 300V 三相独立半桥栅极驱动芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
朝发如雪14 小时前
快速掌握单片机基础(1)(嵌入式基本概念)
单片机
szxinmai主板定制专家14 小时前
【嵌入式实战】RK3588+GMSL多路相机采集方案|SerDes长距离低延时视频流落地教程
人工智能·单片机·机器人·边缘计算·zynq
LCG元14 小时前
STM32F103 SPI 驱动 W5500 以太网模块实战:硬件协议栈寄存器体系、Socket 状态机避坑与 TCP 吞吐实测
stm32·单片机·嵌入式硬件
Zhang.Yi15 小时前
STM32-SPI
stm32·单片机·嵌入式硬件
en.en..15 小时前
网络分层封装 与 TCP粘包的因果关系
网络·单片机·嵌入式硬件
天空'之城15 小时前
单片机基础核心知识点汇总(三十九)
单片机·嵌入式硬件