学习stm32-GPIO

319 阅读1分钟

1. GPIO

General Purpose Input Output,通用输入输出端口。

作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出。

2. STM32 GPIO简介

2.1 GPIO特点

  1. 不同型号芯片IO口数量可能不一样
  2. 快速翻转
  3. 每个IO口都可以做中断
  4. 支持8种工作模式

2.2 电气特性

  1. STM32工作电压范围
  2. GPIO识别电压范围
  3. GPIO输出电流

2.3 GPIO引脚分布

2.3.1 STM32引脚类型

  • 电源引脚
  • 晶振引脚
  • 复位引脚
  • 下载引脚
  • BOOT引脚
  • GPIO引脚

2.3.2 引脚分布特点

按组存在、组数视芯片而定、每组最多16个IO引脚

3. IO端口基本结构

3.1 F1和F4/F7/H7结构对比

内部上/下拉电阻放的位置不同

F1的IO结构图

image.png

F4/F7/H7的IO结构图

image.png

3.2 保护二极管

保护引脚外部过高或过低的电压输入

3.3 内部上拉/下拉电阻

阻值30K~50KΩ

3.4 施密特触发器

把非标准方波,整形成方波

image.png

3.5 P-MOS & N-MOS管

P: Vgs < 0,导通

N: Vgs > 0,导通

4. GPIO的八种模式

image.png

5. GPIO寄存器(F1)

  1. GPIOx_CRL
  2. GPIOx_CRH
  3. GPIOx_IDR
  4. GPIOx_ODR
  5. GPIOx_BSRR

image.png

6. 通用外设驱动模型(四步法)

  1. 初始化
  2. 读函数(可选)
  3. 写函数(可选)
  4. 中断服务函数(可选)

7. GPIO配置步骤

  1. 使能时钟
  2. 设置工作模式
  3. 设置输出状态(可选)
  4. 读取输入状态(可选)