0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

沈阳芯硕科技 来源:jetson024 作者:jetson024 2022-12-28 13:32 次阅读

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.模块框图

pYYBAGOr1H-ANa2VAADC13DKE-Q457.png

沈阳芯硕科技有限公司是华大电子专业代理商,有技术问题可咨询芯虎论坛

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43988

    浏览量

    620942
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16024

    浏览量

    343712
  • GPIO
    +关注

    关注

    16

    文章

    1139

    浏览量

    50601
  • 华大电子
    +关注

    关注

    0

    文章

    33

    浏览量

    11673
收藏 人收藏

    评论

    相关推荐

    通用 32位 MCU FAQ

    \\\\SWDCLK\\\\NRST 5 个PIN. 问:CS32F03X 电路设计有什么需要注意事项。 答:所有VDD/VDDA PIN 都需要接电源, 所有 GND PIN 都需要接在一起。 MCU 最低
    发表于 03-22 15:15

    plc输入输出的运行原理

    plc输入端24v. 说明plc输入是PNP输入,要知道怎么接线必须知道plc输入输出的运行原理。
    发表于 12-17 09:27 320次阅读
    plc<b class='flag-5'>输入输出</b>的运行原理

    #芯圣通用型8051MCU 高性能,高性价比 :HC89F160X系列

    mcu
    上海芯圣电子股份有限公司
    发布于 :2023年12月14日 09:38:53

    CW32通用输入输出端口详解

    CW32通用输入输出端口详解
    的头像 发表于 10-30 17:33 582次阅读
    CW32<b class='flag-5'>通用</b><b class='flag-5'>输入输出</b>端口详解

    plc带模拟量输入输出和不带模拟量输入输出有什么区别啊?

    plc带模拟量输入输出和不带模拟量输入输出有什么区别啊? PLC是一种广泛应用的自动化控制器,它可通过输入输出控制信号来管理各种自动化过程。PLC的“模拟量”
    的头像 发表于 10-17 16:44 1065次阅读

    STM32L011x3/4数据手册

    超低功耗STM32L011x3/4系列包括7种不同封装类型的设备从14到32个引脚。以下描述概述了该家族中提出的外围设备。 这些功能使超低功耗STM32L011x3/4微控制器适用于 广泛
    发表于 10-09 07:06

    CW32F003x3/x4产品介绍

    CW32F003x3/x4是一款基于eFlash的单芯片微控制器,集成了ARM®Cortex®-M0+内核 具有高达48 MHz的主频率、高速嵌入式存储器(高达20 KB的FLASH和 至3K字节
    发表于 09-14 08:16

    CW32F003x3/x4数据手册

    CW32F003x3/x4 是基于 eFlash 的单芯片微控制器,集成了主频高达 48MHz 的 ARM® Cortex®-M0+ 内核、高速嵌入式存储器(多至 20K 字节 FLASH 和多至
    发表于 09-14 08:05

    STM32F2通用输入输出端口GPIO

    GPIO引脚分布和结构框图 I/O引脚的多路复用选择和映射(STM32F2新增) I/O引脚的8种配置模式 输入:浮空、上/下拉、模拟输入输出:可配置上/下拉的推挽
    发表于 09-13 08:09

    M031系列的输出电压范围是多少?

    RT,最近项目方案需要驱动一个5V电平的IC,其输入输出电压范围为: 经过调研,新唐M031系列性价比比较高。同时M031系列有5V容限的
    发表于 08-21 07:37

    请问MCU是如何实现IO口的输入输出控制的?

    GPIO(General Port Input&Output)通用输入输出接口,MCU各个管脚对外交互最根本的单位。
    发表于 08-10 11:10 1647次阅读
    请问<b class='flag-5'>MCU</b>是如何实现IO口的<b class='flag-5'>输入输出</b>控制的?

    华大电子MCU CIU32M010、CIU32M030循环冗余校验计算单元及电源管理

    华大电子MCU CIU32M010、CIU32M030循环冗余校验计算单元及电源管理
    的头像 发表于 06-20 10:22 388次阅读
    华大<b class='flag-5'>电子</b><b class='flag-5'>MCU</b>  <b class='flag-5'>CIU</b>32M010、<b class='flag-5'>CIU</b>32M030循环冗余校验计算单元及电源管理

    华大电子MCU CIU32M010、CIU32M030嵌入式闪存及中断和事件

    CIU32M010、CIU32M030 集成了嵌入式 FLASH 控制模块,该模块控制 FLASH 的擦除、编程以及读取数据。上电时会从 FLASH 中读取相关数据进行校验以及初始化配置,保证芯片程序在正确且安全的情况下运行。
    的头像 发表于 06-20 10:17 463次阅读
    华大<b class='flag-5'>电子</b><b class='flag-5'>MCU</b> <b class='flag-5'>CIU</b>32M010、<b class='flag-5'>CIU</b>32M030嵌入式闪存及中断和事件

    M031系列的输出电压范围是多少?

    RT,最近项目方案需要驱动一个5V电平的IC,其输入输出电压范围为: 经过调研,新唐M031系列性价比比较高。同时M031系列有5V容限的
    发表于 06-13 07:47

    MSPM0L1306开发板教程之GPIO输入输出

    GPIO算是所有MCU入门的第一步,今天的教程就来教大家设置MSPM0L系列的GPIO的输入输出功能。
    的头像 发表于 05-04 17:22 3058次阅读
    MSPM0L1306开发板教程之GPIO<b class='flag-5'>输入输出</b>