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

    文章

    3400

    浏览量

    155172
  • GPIO
    +关注

    关注

    16

    文章

    1313

    浏览量

    55727
  • STM32F10
    +关注

    关注

    0

    文章

    49

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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

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

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

    【RA-Eco-RA4M2开发板评测】2 初识GPIO流水灯

    IO口使用)。端口必须配置成复用功能输出模式。 复用推挽输出: 可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用
    发表于 04-25 23:06

    嵌入式硬件杂谈:推挽、高阻态、上拉电阻

    。GPIO基础下图截取的数据手册图,里面包含了GPIO的相关模式的介绍。MCU输出时会有两种模式,一种叫做推挽模式,一种是
    的头像 发表于 04-17 19:31 1816次阅读
    嵌入式硬件杂谈:<b class='flag-5'>推挽</b>、<b class='flag-5'>开</b><b class='flag-5'>漏</b>、高阻态、上拉电阻

    TLV1822 双路微功耗高电压比较器技术手册

    TLV181x 和 TLV182x 是一个 40V 单通道、双通道和四通道比较器系列,具有多个输出选项。该系列提供具有推挽输出选项的轨至轨输入。该系列具有出色的速度功率组合,传播延迟为 420ns,整个电源电压范围为 2.
    的头像 发表于 03-27 09:19 804次阅读
    TLV1822 双路微功耗高电压<b class='flag-5'>开</b><b class='flag-5'>漏</b>比较器技术手册

    TLV1824 四路微功耗高电压比较器技术手册

    TLV181x 和 TLV182x 是一个 40V 单通道、双通道和四通道比较器系列,具有多个输出选项。该系列提供具有推挽输出选项的轨至轨输入。该系列具有出色的速度功率组合,传播延迟为 420ns,整个电源电压范围为 2.
    的头像 发表于 03-20 10:44 734次阅读
    TLV1824 四路微功耗高电压<b class='flag-5'>开</b><b class='flag-5'>漏</b>比较器技术手册

    TLV1842 双通道高速高电压比较器技术手册

    TLV183x 和 TLV184x 是工作电压高达 40V 的高速比较器。该比较器提供轨到轨输入以及推挽输出选项。这些特性与 65ns 传播延迟相结合,使得该系列非常适合高速电流检测和电压保护应用。
    的头像 发表于 03-19 09:52 905次阅读
    TLV1842 双通道高速高电压<b class='flag-5'>开</b><b class='flag-5'>漏</b>比较器技术手册

    TLV1842-Q1 汽车级、双通道、高速高压比较器技术手册

    TLV183x-Q1 和 TLV184x-Q1 是工作电压高达 40V 的高速比较器。该比较器提供轨到轨输入以及推挽输出选项。这些特性与 65ns 传播延迟相结合,使得该系列非常适合高速电流检测和电压保护应用。
    的头像 发表于 03-15 14:25 997次阅读
    TLV1842-Q1 汽车级、双通道、高速高压<b class='flag-5'>开</b><b class='flag-5'>漏</b>比较器技术手册

    SN74AVC8T245能同时支持推挽输出和输出两种数据进行转换吗?

    你好,请问SN74AVC8T245这款芯片能同时支持推挽输出和输出两种数据进行转换吗?
    发表于 12-20 06:46