打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
华大电子MCU-CIU32F011x3、CIU32F031x5通用输入输出

11. 通用输入输出(GPIO)

11.1. 模块介绍

每组 GPIO 端口有四个 32 位配置寄存器(GPIOx_MODE,GPIOx_OTYPE, GPIOx_OSPEED and GPIOx_PUPD),两个 32 位数据寄存器(GPIOx_IDAT and GPIOx_ODAT),一个 32 位置位/复位寄存器(GPIOx_BSR)和一个 32 位翻转寄存器(GPIOx_TGL)。另外,所有 GPIO 有两个复用功能选择寄存器(GPIOx_AFRH and GPIOx_AFRL)。

:GPIOx 中的 x 表示 GPIO 组数。

11.2. 功能特点

· 输出状态:推挽或开漏(上下拉)

· 输出寄存器状态值(GPIOx_ODAT) 或者复用功能输出

· 输入状态:浮空、上下拉、模拟

· 输入数据到数据寄存器(GPIOx_IDAT) 或复用功能输入

· 独立置位/复位/翻转 IO 状态(GPIOx_ BSR、GPIOx_TGL)

· 模拟功能

· 复用功能(开漏或推挽、上拉或下拉)

11.3. 功能说明

GPIO 的每一个端口可以通过软件独立配置成下面状态

· 输入浮空

· 输入上拉

· 输入下拉

· 模拟功能

· 开漏输出(上拉或下拉)

· 推挽输出

· 复用功能(开漏或推挽、上拉或下拉)

11.3.1. 通用 IO(GPIO)

复位期间和刚复位后,复用功能未开启,IO 端口被配置成浮空输入模式。

当作为输出配置时,写到输出数据寄存器上的值(GPIOx_ ODAT)输出到相应的 IO 引脚。可以以推挽或开漏模式使用输出驱动器。

输入数据寄存器(GPIOx_ IDAT)在每个 APB 时钟周期捕捉 IO 引脚上的数据。所有 GPIO 引脚有一个内部弱上拉,当配置为输入时,它们可以被激活也可以被断开。

11.3.2. 单独的位操作

当对 GPIOx_ ODAT 的个别位编程时,软件不需要禁止中断:在单次 APB 写操作里,可以只更改一个或多个位。只需要通过对“置位/复位寄存器”(GPIOx_BSR)或“取反寄存器”(GPIOx_TGL)中想要更改的位写“1”来实现。没被选择的位将不被更改。

11.3.3. 复用功能(AF)

芯片 IO 引脚通过多路选择器连接到片内外设,每个 IO 上同一时刻只能选通一个复用功能。每个 IO引脚有一个 2 输入的多路选择器连接到复用功能(AF0~AF1),通过配置 GPIOx_AFRH/L 选择功能。如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。如果软件把一个 GPIO 脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。

11.3.4. 输入配置

当 IO 端口配置为输入时

· 输出缓存器被禁止

· 施密特触发输入被激活

· 根据输入配置(上拉、下拉或浮空)的不同,弱上拉和下拉电阻被连接

· 出现在 IO 脚上的数据在每个 APB 时钟被采样到输入数据寄存器

· 对输入数据寄存器的读访问可得到 IO 状态

11.3.5. 输出配置

当 IO 端口被配置为输出时

· 输出缓冲器被激活

开漏模式:输出寄存器上的“0”激活 N-MOS,而输出寄存器上的“1”将端口置于高阻态(P-MOS 从不被激活)推挽模式:输出寄存器上的“0”激活 N-MOS,而输出寄存器上的“1”将激活 P-MOS。

· 施密特触发输入被激活

· 弱上拉和下拉电阻被禁止

· 出现在 IO 脚上的数据在每个 APB 时钟被采样到输入数据寄存器

· 在开漏模式时,对输入数据寄存器的读访问可得到 IO 状态

· 在推挽模式时,对输出数据寄存器的读访问得到最后一次写的值

11.3.6. 模拟输入配置

当 IO 端口被配置为模拟输入配置时

· 输出缓存器被禁止

· 禁止施密特触发输入,实现了每个模拟 IO 引脚上的零消耗。施密特触发输出值被强制为“0”

· 弱上拉和下拉电阻被禁止

· 读取输入数据寄存器时数值为“0”

11.3.7. 复用功能配置

对 IO 端口进行编程作为复用功能时

· 在开漏或推挽式配置中,输出缓冲器被打开

· 内置外设的信号驱动输出缓冲器 (复用功能输出)

· 施密特触发输入被激活

· 弱上拉和下拉电阻被禁止

· 在每个 APB 时钟周期,出现在 IO 脚上的数据被采样到输入数据寄存器

· 开漏模式时,读输入数据寄存器时可得到 IO 口状态

· 在推挽模式时,读输出数据寄存器时可得到最后一次写的值

11.4. 模块框图

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
GPIO内部结构及工作原理
STM32L
STM32的8种GPIO输入输出模式深入详解
【嵌入式】STM32学习(3)——GPIO的8种工作方式及相关寄存器说明
一文看懂GPIO!
STM32-GPIO详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服