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

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

3天内不再提示

关于IO模式(浮空、推挽、开漏...) 描述及应用

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-24 11:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Ⅰ、写在前面

在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx)。但是,你们都知道各种模式的具体意义吗?

有的人问:IO口输出可以上拉吗? 开漏输出是干什么用的?

其实这些问题并不难,只要你了解到每一种模式的真正意思,相信这些问题都不会难道你。本文的内容比较基础,也比较实用,希望对你有所帮助。

关于本文的详细内容请看下面章节

Ⅱ、模式说明

STM32芯片的IO有8中模式:

(1)GPIO_Mode_AIN 模拟输入

(2)GPIO_Mode_IN_FLOATING 浮空输入

(3)GPIO_Mode_IPD 下拉输入

(4)GPIO_Mode_IPU 上拉输入

(5)GPIO_Mode_Out_OD 开漏输出

(6)GPIO_Mode_Out_PP 推挽输出

(7)GPIO_Mode_AF_OD 复用开漏输出

(8)GPIO_Mode_AF_PP 复用推挽输出

四种输入模式 + 四种输出模式


上面IO结构图来自STM32F1参考手册,从图中可以看得出来IO口大致的结构,也能反映出各种模式。

代码中常见的一些配置:

Ⅲ、本文要点

下面结合相关资料,讲述一下各种模式的内容:

1.GPIO_Mode_AIN 模拟输入

这个模式比较好理解,主要用于模拟输入时的配置(一般是针对ADC功能)。在特殊DAC输出的时候也用该模式,参看手册:

2.GPIO_Mode_IN_FLOATING 浮空输入

浮空顾名思义就是悬浮在空中,也叫悬空输入。配置成浮空输入模式,如果没有连接其他设备,检测其电平是不定的,有可能检测到高电平,也有可能坚持到低电平。

3.GPIO_Mode_IPD、GPIO_Mode_IPU上下拉

GPIO_Mode_IPD下拉 和 GPIO_Mode_IPU上拉模式应该大家都明白它的意思,它们和浮空输入是成对应关系。

A.上拉或下拉电阻阻值?

有些时候,了解到阻值的大小有助于硬件的设计,以及软件的编程,阻值大小一般是40K左右,具体可以参看数据手册:

B.疑问

有的人会有这样的疑问,为什么没有输出下拉?或输出上拉?

答案其实很简单,在该系统中,MCU起到主要作用,输出的电平是由MCU决定,要么是高电平,要么是低电平。

4.GPIO_Mode_Out_OD 开漏输出

开漏输出这个功能是比较重要的,也是相对比较难一点的(当然,明白了就觉得简单)。或许我们平时没怎么使用过该功能,并不知道它具体的用途,就没有多去了解它。

开漏输出大致意思:设置引脚输出为“1”时,该引脚处于开漏,也就是相当于浮空状态; 设置引脚输出为“0”时,该引脚将拉低电平。

前面我有一篇文章【模拟I2C读写EEPROM】里面I2C总线的SDA引脚就使用了开漏输出功能。也就是需要在释放SDA总线时,只需要将SDA设置输出为“1”就行了。

5.GPIO_Mode_Out_PP 推挽输出

推挽输出:意思就是输出具有驱动能力(比如:引脚上接一个LED,可以直接点亮,若是开漏输出,就不能点亮LED)。

推挽输出这个功能是比较常用的功能,我们一般输出控制某个信号,基本上都是配置为GPIO_Mode_Out_PP 推挽输出。

推挽输出电流大小也是比较关键的一个参数,根据芯片不同,其大小也不同,具体可以查看数据手册:

6.GPIO_Mode_AF_OD 复用开漏输出

复用开漏输出:该模式和上面“GPIO_Mode_Out_OD开漏输出”类似,只是它引脚对应的功能具有复用的功能。前面文章【硬件I2C读写EEPROM】里面就是使用了该功能。

7.GPIO_Mode_AF_PP 复用推挽输出

复用推挽输出功能和推完功能类似,主要用在具有复用功能的情况下,比如USART的TX引脚等。

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

    关注

    8

    文章

    3401

    浏览量

    155684
  • GPIO
    +关注

    关注

    16

    文章

    1333

    浏览量

    56454
  • STM32F10
    +关注

    关注

    0

    文章

    49

    浏览量

    16299
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    钰泰ETA4554QHM, 适用于推挽应用的4位双向电压电平转换器。

    -数据传输速率 推挽模式:24 兆比特每秒 模式:2 兆比特每秒 A 端口工作电压范围:1.65 伏至 5.5 伏,B 端口工作电压
    发表于 04-24 11:25

    JL杰理AC696N系列开发GPIO控制大全:模式、API与特殊引脚

    由外部的输入决定。 模拟输入则用于 ADC 采集。 输出模式 :输出高/低电平,驱动能力分普通、强、超强三档 方向: 有输入,有输出,无。上下拉: 所有IO都有上下拉, 电阻固定,
    发表于 04-02 21:21

    AT32F011通用功能IO应用指南

    GPIO在复位期间和刚复位后,复用功能未开启,大部分I/O端口被配置成浮空输入模式。 当作为输出配置时,写到输出数据寄存器(GPIOx_ODT)上的值会输出到相应的I/O引脚。可以以推 挽模式
    发表于 03-17 13:50

    SGM8754-2/4:通用低压比较器的卓越之选

    SGM8754-2/4:通用低压比较器的卓越之选 在电子设计领域,比较器是一种常见且关键的器件,它能对输入信号进行比较并输出相应的逻辑电平。今天要为大家介绍的SGM8754-2
    的头像 发表于 03-11 15:15 119次阅读

    用这种方法来估测CH552的上拉电阻可以吗?

    CH552的端口可以设置四种模式,1、浮空输入,无上拉,2、 推挽输入输出,3 、输入输出,无上拉,4、 类51
    发表于 03-01 14:48

    GPIO的常见名词

    mos的栅极为输入,极为输出 2.1 基本类型输出: 输出(OP) 推挽输出(PP) 复用
    发表于 12-02 07:58

    USART RX引脚应该上拉还是浮空

    1. 浮空输入(无上拉) 适用场景: 短距离通信:当RX引脚与发送端(TX)距离较近(如板内直连),且发送端为推挽输出(强驱动能力)。 发送端已内置上拉:若发送端的TX引脚已配置上拉电阻,可避免总线
    发表于 11-19 06:14

    GPIO无输出/输入的故障排查

    1、确认时钟已使能。 2、检查 GPIO 模式设置是否正确(输出:推挽/? 输入:浮空/上拉/下拉?)。 3、检查复用功能映射(如果该
    发表于 11-18 07:37

    IO口8种工作模式和应用

    应用:I2C总线、SPI的CS、CAN的低电平状态、共享总线实现“线与”逻辑 7 8、GPIO复用推挽 (Alternate Function Mode)。IO口被特定外设功能
    发表于 11-14 06:46

    嵌入式接口通识知识之GPIO接口

    推挽式复用功能由其它外设控制输出,可输出高低电平,驱动能力强。GPIO的基本电路图如下所示:GPIO的不同工作模式基于电路来实现,比较常用的工作模式浮空输入、
    发表于 08-14 14:39

    STM32 GPIO,NMOS导通能承受多大电流?

    STM32 GPIO 模式,NMOS 导通时能承受多大电流而不至于损坏。
    发表于 07-31 07:13

    【沁恒CH585开发板免费试用体验】GPIO 流水灯

    )。 Figure 1‑6 输出模式 复用输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用
    发表于 07-04 22:55

    MAX7327 I²C端口扩展器,提供12路推挽式输出和4路极开路I/O技术手册

    MAX7327 2线串行接口外设,该器件具有12路推挽输出,以及4路可配置的I/O端口,带有可选择的内部上拉和中断检测功能。所有端口均过压保护至+6V,与电源电压无关。
    的头像 发表于 05-22 15:41 960次阅读
    MAX7327 I²C端口扩展器,提供12路<b class='flag-5'>推挽</b>式输出和4路<b class='flag-5'>漏</b>极开路I/O技术手册

    TLV3011-EP 具有输出的微功耗单通道比较器(增强型产品)技术手册

    TLV3011-EP 是一款低功耗、输出比较器;TLV3012-EP 是一款推挽输出比较器。这两款器件都具有非限定的片上电压基准,静态电流为 3.1µA(最大值),输入共模范围超出电源轨 200mV,单电源电压范围为 1.6
    的头像 发表于 05-22 14:54 1109次阅读
    TLV3011-EP 具有<b class='flag-5'>开</b><b class='flag-5'>漏</b>输出的微功耗单通道比较器(增强型产品)技术手册

    CYUSB3065 (CX3) GPIO 所有输出都是推挽还是? 需要配置外部上拉/下拉电阻吗?

    CYUSB3065 (CX3) GPIO 所有输出都是推挽还是? 需要配置外部上拉/下拉电阻吗?
    发表于 05-12 07:42