文章目录

  • 1 GPIO结构框图
  • 2 推挽输出模式
  • 3 开漏输出模式

1 GPIO结构框图

先来看一下GPIO输出的部分:


2 推挽输出模式

所谓的推挽输出模式,是根据这两个 MOS管的工作方式来命名的。在该结构中输入高电平时,上方的 P-MOS导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输入低电平时,N-MOS管导通,P-MOS 关闭,对外输出低电平。当引脚高低电平切换时,两个管子轮流导通,一个负责灌电流,一个负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为 0伏,高电平为 3.3 伏。

下图为推挽输出模式时的等效电路:


3 开漏输出模式

在开漏输出模式时,上方的 P-MOS 管完全不工作。如果我们控制输出为 0,低电平,则 P-MOS 管关闭,N-MOS 管导通,使输出接地,若控制输出为 1 (它无法直接输出高电平)时,则 P-MOS 管和 N-MOS 管都关闭,所以引脚既不输出高电平,也不输出低电平,为高阻态。为正常使用时必须接上拉电阻(可用 STM32的内部上拉,但建议在 STM32外部再接一个上拉电阻)。

下图为开漏输出模式的等效图:

开漏输出模式的常见应用场景:

  • 开漏输出一般应用在 I2C、SMBUS 通讯等需要“线与”功能的总线电路中。
  • 还用在电平不匹配的场合,如需要输出 5 伏的高电平,就可以在外部接一个上拉电阻,上拉电源为 5 伏,并且把 GPIO 设置为开漏模式,当输出高阻态时,由上拉电阻和电源向外输出 5 伏的电平。

STM32外设之GPIO的推挽输出和开漏输出模式详解相关推荐

  1. 单片机推挽输出c语言,单片机IO口科普:推挽输出、开漏输出详解

    原标题:单片机IO口科普:推挽输出.开漏输出详解 在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻. 是不是有时候感觉一头雾水? 今天就详解一下 ...

  2. 单片机I/O开漏输出详解 “与逻辑” ,改变上拉电源的电压,提供TTL/CMOS电平输出,标准的开漏脚一般只有输出的能力添加其它的判断电路,才能具备双向输入、输出的能力

    单片机I/O开漏输出详解 开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 我们先来说说集电极开路输出的结 ...

  3. [技术讨论]STM32 IO口输出之推挽输出和开漏输出对比

    先上一个总览图 众所周知STM32的IO口可配置成输出和输出,其中输入有四种模式,输出也有四种模式,分别如下: 输入: GPIO_Mode_AIN-----------------模拟输入 GPIO_ ...

  4. 什么是GPIO的推挽输出和开漏输出

    数字芯片GPIO一般分为推挽输出和开漏输出 数字芯片GPIO一般是推挽输出(PUSH-PULL),其内部结构如下: 当上面的MOS管导通时,GPIO输出高电平1,称为"推" 当下面 ...

  5. GPIO之推挽输出和开漏输出

    疑问 GPIO配置为输出时会有两种模式,一种叫推挽输出,一种叫开漏模式.那什么是推挽输出,什么又是开漏输出呢? 三种输出状态 如下图所示为将GPIO配置为输出时的内部示意图: 由上图可以看出,GPIO ...

  6. 5.STM32外设都有哪几类寄存器?(详解)

    STM32外设都有以下几类寄存器:

  7. 单片机程序配置成开漏输出_单片机I/O开漏输出详解

    开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 我们先来说说集电极开路输出的结构.集电极开路输出的结构如 ...

  8. 笔记:推挽输出、开漏输出

    推挽输出 推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件. 当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平. 当内部输出0电平时,上边的MO ...

  9. 单片机I/O口推挽输出与开漏输出的区别(open-drain与push-pull)

    推挽(push-pull):推挽输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通.Q2截止时输出高电平:而当Q1截止导通.Q2导通时输出低电平.一个导通另一个就截止. 集电极开路:输出 ...

最新文章

  1. 只能在堆或只能在栈上分配内存的类
  2. 10 python中的常量
  3. Coinbase宣布在以太坊经典上市前进行最终测试
  4. 自定义ServicesLoader来实现根据配置使用不通的SPI实现从而实现项目扩展
  5. Py之av:av库的简介、安装、使用方法之详细攻略
  6. android触摸外部关闭键盘,如何隐藏Android上的软键盘,点击外部EditText?
  7. qtextedit非编辑时去边框_Photoshop玩腻了!这10个图形编辑神器你知道吗
  8. google protobuf安装与使用
  9. 【转】关于字符编码,你所需要知道的
  10. 《天天数学》连载32:二月一日
  11. centos 基础命令第一节
  12. python随机数据库_关于Python的随机数模块,你必须要掌握!-后台/架构/数据库-敏捷大拇指-一个敢保留真话的IT精英社区...
  13. 用户视图切换为Linux视图,视图_ITPUB博客
  14. rabbitmq——交换机fanout和direct
  15. Opencv__模板匹配(上)
  16. 在arm Cortex-A9开发板移植rtl8821au无线网卡并实现与外网通信
  17. 【数据挖掘导论】读书笔记 - (1)
  18. js解决服务器和客户端存在时间差的问题
  19. oracle scn超了,Oracle安全 - SCN的可能最大值与耗尽问题
  20. linux课程内容知识脉络,云计算学习路线教程大纲课件:Linux新手入门教程

热门文章

  1. c++矩阵类_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...
  2. STM32 电机教程 19 - 基于ST MC Workbench 单电阻FOC
  3. 【树莓派】小空间树莓派镜像系统备份方法img镜像文件压缩方法
  4. 【DIY】入门必看:arduino入门实用教程,esp8266获取互联网时间,nodemcu制作NTP客户端获取显示互联网时间...
  5. tftp环境搭建笔记
  6. 图片加载之SDWebImage(上)
  7. 学习开发自己的composer包,并使用GitHub实时更新到Packagist
  8. Spring源码-AOP(六)-自动代理与DefaultAdvisorAutoProxyCreator
  9. 《OpenGL ES应用开发实践指南:Android卷》—— 2.2 不要从头开始
  10. 苹果发布被拒绝的种种惨剧