GPIO的开漏和推挽

2023-11-12

GPIO的开漏和推挽

简单来说推挽输出可以自由输出高低电平。
开漏输出只能在关闭时配合上拉提高高电平,打开时漏掉电流形成低电平。

操作单片机点亮一个LED的时候我们需要操作GPIO输出一个高电平来点亮一个LED。
在这里插入图片描述
当我们打开用户手册时会发现GPIO可以配置成多种模式:
在这里插入图片描述

什么是推挽?

在这里插入图片描述

这是一个GPIO配置为输出时的内部示意图,我们要关注的其实就是这两个MOS管的开关状态,排列组合一下一共就只有四种状态,当上面的MOS管打开,下面的MOS管关闭时,就输出高电平,当上面的MOS管关闭,下面的MOS管打开时,就输出低电平,两个MOS管都关闭时,输出处于一个浮空状态,此时它对其他点的电阻是无穷大的,所以这个状态也被称为高阻态。最后,当两个MOS管都打开时,这边电源直接对地转入MOS管就烧毁了,所以这种状态并不存在。对于一个GPIO来说,配置为输出时,它其实就只能处于这三种状态了。

那么这三种状态和推挽还有开漏是什么关系呢?

首先我们把这两种状态拿出来组成一个组合,这就是对GPIO输出最基本的认知,要么输出高电平,要么输出低电平,我们用它去控制一个MOS管,当输出高电平时,电流这样流出去,给外面的这颗MOS管的栅级充电。所以这个过程称为推,把电流推出去。
在这里插入图片描述
然后当GPIO口输出低电平,平时电流这样流进来,给外面的这mos管的栅级放电,那这就是挽,把电流挽回来所以。所谓的推挽,其实就是描述了mos管输出高低电平平时,电流的一个动作而已。
在这里插入图片描述

什么是开漏?

在这里插入图片描述
那接下去我们再把的这两种状态拿出来组成一组合,你会发现在这个组合里,上面的MOS永远是关闭的,所以可以认为它就是不存在的,那这个时候下面的MOS的漏级就等于啥也没接,处于一个开漏状态,所以这个模式被称为开漏模式。

开漏有什么用?

那么这个开漏模式到底有什么用?
在这里插入图片描述
第一个是改变高电平的电压。比如说我们现在想用这个GPIO去控制一个芯片的enable引脚,但是,这个GPIO的输出的高电平是5v,后面这个芯片的enable只支持3.3V输入,如果用推挽模式的话,高电平时输出5v就有可能把后面的芯片给烧毁了,所以我们就需要使用开漏模式,同时需要在外面接一个上拉电阻,这样当这个Q2MOS关闭,也就是GPIO处于高阻态时,ENABLE这边就被这个上拉电阻拉到了3.3伏V,当Q2打开,也就是输出低电平,enable拉到低电平。实现了5v单片机对3.3芯片的控制。

开漏模式的第二个作用就是可以支持几个GPIO同时控制一个输入。
在这里插入图片描述
首先,如果这两个GPIO都配成推挽模式,当上面一个控制器为高电平,下面一个控制器为低电平时,这里就短路了。所以需要配置成开漏模式。然后再外接一个上高电阻,这样只要有任意一个GPIO输出低电,平时这边enable就是低电平,如果都处于高阻态,那么这边enable就是高电平。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GPIO的开漏和推挽 的相关文章

随机推荐

  • 睿智的智能优化算法2——遗传算法的python实现

    睿智的智能优化算法2 遗传算法的python实现 什么是遗传算法 求解过程 整体代码分解 1 编码解码部分 2 求取适应度部分 3 自然选择部分 4 组合交叉 5 基因突变 实现代码 GITHUB下载连接 睿智的智能优化算法小课堂再次开课啦
  • LSM6DS3,SO, SPI

    一 LSM6DS3是ST的一款6轴力学传感器 3轴加速度 3轴陀螺仪 特别注意 后缀不一样 功能有很大不一样 有的有OIS功能 有的没有 LSB的意思是最小有效位 为数字输出方式 一般我们可以用mdps LSB来表示灵敏度 8 75 mdp
  • iOS开发Google Protocol Buffer 的解析封装(二)

    为此我封装了一个Google Protocol Buffer的网络解析方法 由于项目时间比较急 我没有写出更好的封装方法 我会继续创作 希望大家的鼓励与支持 PBHttpMethod h 的文件 import
  • Junit mockito 测试Controller层方法有Pageable异常

    1 问题 在使用MockMVC Mockito模拟Service层返回的时候 当我们在Controller层中参数方法调用有Pageable对象的时候 我们会发现 我们没办法生成一个Pageable的对象 会报一个Pageable是一个接口
  • C语言中宏的预编译控制语句#ifndefine、#define和#endif(总结)

    例如 ifndefine 这是 if not defined 的简写 是宏定义的一种 它是可以根据是否已经定义了一个变量来进行分支选择 一般用于调试等等 实际上确切的说这应该是预处理功能中三种 宏定义 文件包含和条件编译 中的第三种 条件编
  • smartGit安装和过期解决

    一 下载安装包 去百度下载 二 安装英文 第三点是中文版本的 2 1 exe安装 解压smartgit win 18 1 5 zip 点击smartgit64 exe安装 2 2 配置 2 3 用户配置 core autocrlf fals
  • python极简循环输出+break和continue

    目录 一 python极简输出 二 break和continue 一 python极简输出 如上图所示 上面只有一个错误答案 我们用排除法知道 错误的是答案B 但这里面有个有趣的答案C 就是 print languages i years
  • 【华为OD机试】查字典 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 人眼定位算法简单概述

    这篇博客只是总结一下人眼定位的方法 首先人眼定位效果是得到人眼的坐标 即瞳孔的坐标 大体来说人眼定位的方法有两种 第一种是利用人眼的几何特征 灰度特征等通过算法来实现定位 第二种要通过机器学习 其实opencv自带了瞳孔分类器 但我应用起来
  • 基于 python的MES管理系统

    一 项目简介 基于 python的MES管理系统 二 实现功能 支持多端 pc端 移动端 小程序 app 支持各种协议 modbus mqtt 支持接入各种数据源 内置数据计算服务 支持数据清洗 支持数据可视化 支持空间数据 支持门店数据
  • ZooKeeper的一个性能测试

    2011 07 15 18 07 00 3台ZooKeeper服务器 8核64位jdk1 6 log和snapshot放在不同磁盘 场景一 同一个目录下 先createEPHEMERALnode 再delete create和delete各
  • 人脸识别技术成熟加速终端设备技术扩展

    脸支付的应用 已经对我们的生活带来了很多便利 除了金融 现在商超等场景 也大多添加了刷脸支付设备 无需拿出手机 不用担心手机没电 刷脸即可支付 人脸识别技术的成熟 也加速了在终端设备的技术扩展速度 现在的刷脸设备 除了基本的支付功能 还融合
  • xxx.jar中没有主清单属性解决办法

    在springboot中的pom xml文件中引入
  • MyEclipse下配置WebLogic10(转)

    MyEclipse下配置WebLogic10 转 安装 WebLogic 比较容易 在这里就不再累述了 大家可以参阅相关文档 现在着重讲一下 WebLogic 的配置 因为后面在配置 MyEclipse 时将用到这里的配置信息 运行开始 g
  • 【Bug记录】Fail to create pixmap with Tk_GetPixmap in TkImgPhotoInstanceSetSize

    Bug记录 项目场景 问题描述 解决方案 项目场景 绘图代码出现Fail to create pixmap with Tk GetPixmap in TkImgPhotoInstanceSetSize 问题描述 在测试网络时出现此Bug 可
  • 机器数的原码、反码、补码、移码表示以及浮点数的二进制表示

    初学计算机组成原理时 有点儿搞不清楚机器数的各种表示方法 今天在这里总结一下 希望对大家有帮助 首先明确两个概念 机器数是指将 和 数字化的数 其中用 0 表示 1 表示 而对应的有 和 的数则称为真值 机器数的表示方法 1 原码表示法 符
  • debug模式下,一个30的for循环直接从i=1跳到你想要的数字(i=10)

    废话不多说 直接上图 1 先创建一个for循环 debug模式运行 在for循环中间打断点 我们可以看出刚运行的时候i 0 2 点击 debug 下一步 或者F6 直到他显示这个variables 这时 我们可以对i进行任意的修改你想要的数
  • 【Python】 14-CVS文件操作

    1 CVS文件 值没有类型 所有东西都是字符串 没有字体大小或颜色的设置 没有多个工作表 不能指定单元格的宽度和高度 不能合并单元格 不能嵌入图像或图表 CSV 文件中的每个单元格 有逗号分割 也许你可以只是对每行文本调用 split 方法
  • Google Pixel 3玩机教程

    说到谷歌的亲儿子Pixel系列 你一定就会想到安卓原生系统 现在我将会教你如何使用pixel去root并且破解电信 第一步 解锁手机 1 打开手机的开发者选项 选择OEM解锁 打开它 再把USB调试打开 2 在电脑上的google deve
  • GPIO的开漏和推挽

    GPIO的开漏和推挽 简单来说推挽输出可以自由输出高低电平 开漏输出只能在关闭时配合上拉提高高电平 打开时漏掉电流形成低电平 操作单片机点亮一个LED的时候我们需要操作GPIO输出一个高电平来点亮一个LED 当我们打开用户手册时会发现GPI