当前位置: 代码迷 >> 综合 >> STM32F407通用IO(GPIO)
  详细解决方案

STM32F407通用IO(GPIO)

热度:12   发布时间:2023-12-01 10:12:36.0

一.GPIO简介
每个通用IO口包括
4个32位配置寄存器:
GPIOx_MODER
GPIOx_OTYPER
GPIOx_OSPEEDR
GPIOx_PUPDR
2个32位数据寄存器:
GPIOx_IDR
GPIOx_ODR
1个32位置位/复位寄存器:
GPIOx_BSRR(GPIOx_BSRRL和GPIOx_BSRRH)
1个32位锁定寄存器:
GPIOx_LCKR
2个32位复用功能选择寄存器:
GPIOx_AFRH
GPIOx_AFRL
二.GPIO主要特性
● 受控 I/O 多达 16 个
● 输出状态:推挽或开漏 + 上拉/下拉
● 从输出数据寄存器 (GPIOx_ODR) 或外设(复用功能输出)输出数据
● 可为每个 I/O 选择不同的速度
● 输入状态:浮空、上拉/下拉、模拟
● 将数据输入到输入数据寄存器 (GPIOx_IDR) 或外设(复用功能输入)
● 置位和复位寄存器 (GPIOx_BSRR),对 GPIOx_ODR 具有按位写权限
● 锁定机制 (GPIOx_LCKR),可冻结 I/O 配置
● 模拟功能
● 复用功能输入/输出选择寄存器(一个 I/O 最多可具有 16 个复用功能)
● 快速翻转,每次翻转最快只需要两个时钟周期
● 引脚复用非常灵活,允许将 I/O 引脚用作 GPIO 或多种外设功能中的一种
三.GPIO功能描述
可通过软件将通用 I/O (GPIO) 端口的各个端口位分别配置为多种模式:
● 输入浮空
● 输入上拉
● 输入下拉
● 模拟功能
● 具有上拉或下拉功能的开漏输出
● 具有上拉或下拉功能的推挽输出
● 具有上拉或下拉功能的复用功能推挽
● 具有上拉或下拉功能的复用功能开漏
每个 I/O 端口位均可自由编程,但 I/O 端口寄存器必须按 32 位字、半字或字节进行访问。