一.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 位字、半字或字节进行访问。
详细解决方案
STM32F407通用IO(GPIO)
热度:12 发布时间:2023-12-01 10:12:36.0
相关解决方案
- 6410 GPIO 按键控制LED的有关问题
- GPIO 设置成省电模式解决方案
- 6410 GPIO 控制LED的有关问题
- STM32F407 定时器的应用有关问题
- LPC1768 GPIO 寄存器有关问题
- EP9315 watchdog GPIO 矩阵键盘相干
- ARM7 GPIO 寄存器有关问题
- STM32 笔记8:GPIO 配置之ODR, BSRR, BRR 详解
- GD32学习笔记1. GPIO
- stm32f1-GPIO
- Linux驱动开发——(使用中断处理)gpio(6)
- Linux驱动开发——(次设备号使用及混杂设备驱动开发)gpio(5)
- Linux驱动开发——(Linux内核字符设备文件的自动创建)gpio(4)
- Linux驱动开发——(linux内核字符设备硬件操作接口之ioctl)gpio(3)
- Linux驱动开发——(Linux内核系统调用实现原理)gpio(2)
- Linux驱动开发——(Linux内核GPIO操作库函数)gpio(1)
- stm32f407 FreeRTOS+LVGL移植
- STM32CubeIDE教程(二)——GPIO
- ESP8266+STM32F407+OV7670实现图片传输
- 2021-03-03 Android 查看Linux GPIO 复用情况
- Linux下通过sysfs方式控制GPIO(/sys/class/gpio)
- linux应用编程1-GPIO
- STM32F407 作为SPI从机,使用软件管理SSI方式处理片选
- STM32F407通用IO(GPIO)
- 正点原子探索者(STM32F407),非正点HC05蓝牙点灯代码
- 嵌入式实践教程--【Device Tree】设备树(一)——GPIO
- 树莓派_工具配置RPi.GPIO,wiringPi等
- esp8266 gpio 控制(led与key使用)
- GPIO 整理
- NanoPi GPIO 控制(Nanopi-S2)