了解:
1.什么是GPIO
2.stm32 GPIO简介
3.GPIO的八种模式
4.GPIO寄存器介绍
掌握:
5.GPIO的使用
6.跑马灯实验
7.按键输入实验
一.什么是GPIO
GPIO:通用输入输出端口
作用:负责采集外部器件的信息或控制外部器件工作,即输入输出
二.stm32中 GPIO简介
1.特点
- 多达51个io口(STM32F103RCT6--64个引脚--51个io口)
- 最高速度可达50MHZ
- 每个io口都可做中断
- 支持八种工作模式
2.电气特性
- stm32 工作电压范围:2V<VDD<3.6V
- GPIO 识别电压范围 COMS端口:-0.3v--1.16v
- GPIO输出电流:单个io 最大25mA
3.STM32引脚分析
- 电源引脚
- 晶振引脚
- 复位引脚
- 下载引脚
- BOOT引脚
- GPIO引脚(51个)
4.基本结构
IO端口位基本结构
①保护二极管
②上/下拉电阻
③施密特触发器:整形作用,使不规则波形成为规则方波
④ P/N mos管
MOS是压控型元件,通过控制Vgs来实现导通或关闭
三.GPIO的八种模式
输入:
- 外部上拉:空闲时,io口呈现高电平
- 外部下拉:空闲时,io口呈现低电平
- 浮空输入:空闲时io口状态不确定;一般用于读取数据
- 模拟输入:ADC/DAC
输出:
- 开漏输出
- 推挽输出:可以输出高低电平,驱动能力较强
- 开漏复用
- 推挽复用功能
五.GPIO的使用
输出使用时,配置步骤:
- 使能时钟:RCC APB2RSTR寄存器 HAL_RCC_GPIOC_CLK ENABLE()
- 设置工作模式
- 设置输出状态:ODR,BSRR
HAL_GPIO_WritePin
HAL_GPIO_TogglePin
六.跑马灯实验
LED原理图
分析io口需要选择什么模式?
- 推挽输出