开漏输出

GPIO输入与输出设置

淺唱寂寞╮ 提交于 2020-02-17 02:21:12
GPIO(也称为通用输入/输出)是控制器中最简单也是最重要的配置。但即便如此,IO也有各种各样的类型和配置选项,有输入,输出,上拉,下拉,推挽等。虽然我们天天都和它打交道,但是你真的了解其中的配置吗? 输入模式 通常,GPIO输入主要通过以下三种方式之一进行配置: ● 高阻抗 (Hi-Z,也称为浮动floating) ● 上拉 (Pull-up,内部电阻连接到VCC) ● 下拉 (Pull-down,内部电阻连接到地) 当Input port被处在高阻抗的模式下,若没有外部讯号源进来的话,此时是无法确定port的状态(不能确定现在处在高电位或低电位),除非有外部讯号来驱动电路。换句话说,Input floating,这个Input电位状态完全是由外部讯号来决定,没有讯号驱动的话,就会呈现高阻抗状态。 如果我们需要这个port有一个明确的预设状态时,必须借助pull-up(pull-down)resistor来做调整,在pull-up resistor(pull-up外接高电压,pull-down通常会接地)的作用之下,让port的维持在明确的高电压状态(pull-down则是让port维持在低电压状态)。 至于具体电阻的大小,一般在芯片手册中都有详细的描述。在实际配置中,除了要考虑port口内的上下拉电阻大小,还需要考虑MCU外围电路所带来的影响。 输出模式 GPIO的输出模式

I2C接口开漏输出输入双向

十年热恋 提交于 2019-12-13 22:03:17
I2C接口 原创 朝辞暮见 发布于2018-06-13 19:45:25 阅读数 8265 收藏 展开 一、I2C总线协议内容 1. I2C总线引脚定义 SDA (I2C数据引脚) CLK (I2C数据引脚) 2. I2C 总线物理连接 I2C总线物理连接如下图所示,SDA和CLK连接线上连有两个上拉电阻,当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低。 二、I2C总线的数据传送 1. 数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化 1 scl处于高电平的时候,如果sda处于低电平:传输数据0,sda处于高电平:传输数据1 2.在scl处于高电平的时候,sda用来传输数据,必须保持电平稳定 3.如果要产生数据即sda需要变化时,只能在scl处于低电平的时候 2. 起始和终止信号 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。 1. 信号的发起和终止,由主机发起,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。 2. scl处于高电平的时候,sda由高->低的跳变, 表示发起传输,产生起始信号s, 如果低-

如何正确理解开漏输出和推挽输出

为君一笑 提交于 2019-12-13 21:17:40
如何正确理解开漏输出和推挽输出 转载 anbaixiu 发布于2017-11-19 06:16:10 阅读数 3553 收藏 展开 作者:知乎用户 链接:https://www.zhihu.com/question/28512432/answer/41217074 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我觉得下面这个「网上资料」还是很不错的。 单片机I/O口推挽输出与开漏输出的区别(转) ===================分割线==================== 我还是认真回答一下吧。 要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter)。下图是NPN型晶体管。 <img src="https://pic4.zhimg.com/50/d9af63f605cbfe1d965457b3faf6607b_hd.jpg" data-rawwidth="297" data-rawheight="277" class="content_image" width="297"> 这种三极管是 电流控制 型元器件,注意关键词电流控制。意思就是说,只要基极B有输入(或输出)电流就可以对这个晶体管进行控制了。 下面请允许我换一下概念

转载:集电极开路输出、开漏输出、推挽输出

时光总嘲笑我的痴心妄想 提交于 2019-12-05 03:02:08
   各设备连接到I2C总线的输出端要求是开漏输出或集电极开路输出的结构。总线空闲时上拉电阻使I2C的SDA及SCL线都保持高电平,根据开漏输出或集电极开路输出的线与逻辑,I2C总线上任何结构输出低电平都是拉低总线信号。   集电极开路输出、开漏输出、推挽输出相关知识可见: https://blog.csdn.net/yu132563/article/details/55261888 来源: https://www.cnblogs.com/zhly2711/p/11900601.html