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或外部上拉/下拉
  • 未用引脚:配成IPU或IPD(推挽输出也可能漏电)

五、速记口诀

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

相关推荐
Jason_zhao_MR5 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
BSD_CGQ6 小时前
FSR传感器STM32 DMA高速采样工程实现(高精度、低CPU占用)
stm32·单片机·嵌入式硬件·压力传感器·源头工厂·柔性薄膜压力传感器·可变电阻压力传感器
芯岭技术郦9 小时前
32 位 ARM® Cortex®-M0+ 内核MCU普冉MS32C001-C
单片机·嵌入式硬件
骑着毛驴数星星9 小时前
STM32 CAN波特率与采样点计算,基于HAL库
stm32·单片机·嵌入式硬件
zhangrelay10 小时前
Arduino-MEGA-ESP单片机理论课笔记02-硬件-2026
笔记·单片机·嵌入式硬件
艾芯微科技10 小时前
钰泰 ETA5055V330DD1E|SOT-223 3.3V LDO,低压差、大电流线性稳压选型分享
网络·单片机·嵌入式硬件·集成测试·51单片机
新晨单片机设计11 小时前
S023A-基于STM32单片机智能插座【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·单片机智能插座
威嵌神州12 小时前
恩智浦 T1022 性能怎么样?QorIQ 架构中端工业嵌入式优势解析
嵌入式硬件
weixin_6906547412 小时前
龙迅#LT9611EX 现MIPI转HDMI1.4功能主推型号,分辨率高达4K30HZ,IC内置I2C无需外部12C控制。
嵌入式硬件·音视频·信号处理
EatFans12 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网