GPIO的输出,什么时候用开漏,什么时候用推挽?

想象一下,GPIO就像是我们的手指。我们可以用手指去推东西(推挽输出),也可以用手指去抓住东西(开漏输出)。这两种方式都能帮我们搬动小玩具,但方式不同。

 

推挽输出

假设你有一辆小玩具车,你可以用手指推它前进(相当于给它高电平),也可以拉它后退(相当于给它低电平)。这就像是推挽输出,你的手指能够直接推或拉玩具车,让它向前或向后移动。

 

何时使用:

当你想直接用手控制玩具车前进或后退时,就像直接控制一个小灯泡亮起或熄灭。

开漏输出

现在,假设你和你的朋友们都想用一根绳子来控制玩具车。你们不能同时推绳子,但是任何人都可以拉绳子来让玩具车动起来。为了让玩具车能够回到起点,你们在绳子的另一端绑了一个气球,气球可以把绳子拉回去(相当于通过外部电阻把电平拉高)。

 

何时使用:

当你和你的朋友们都想控制同一辆玩具车时,就像多个设备需要共享同一个信号线。

当你想用不同的方法(比如气球)来让玩具车回到起点,这样即使你和你的朋友们使用的绳子不一样,也能玩这个游戏。

总结

如果你想自己直接控制玩具车的前进和后退,就像直接控制一个小灯泡那样,那就用推挽输出。

如果你和朋友们想一起控制同一辆玩具车,而且想用不同的方法让它回到起点,那就用开漏输出。

GPIO(通用输入输出)是微控制器和其他数字设备中常见的功能模块,用于读取数字信号或输出数字信号。GPIO引脚可以配置为输入模式或输出模式。在输出模式下,主要有两种常见的输出类型:推挽(Push-Pull)输出和开漏(Open-Drain)或开集(Open-Collector,对于使用双极性晶体管的情况)输出。选择哪种输出类型取决于你的电路设计需求和目标设备的特性。

 

推挽(Push-Pull)输出

推挽输出是最常见的GPIO输出类型。在这种模式下,GPIO引脚可以驱动到高电平(通常是VCC)或低电平(GND)。推挽输出能够提供电流给负载(当输出高电平时)或从负载拉电流(当输出低电平时)。

 

何时使用:

当你需要GPIO直接驱动LED或其他低功耗设备时。

当你不需要通过外部上拉电阻来确保高电平状态时。

当你需要较快的信号切换速度时,因为推挽配置可以提供较强的驱动能力。

开漏(Open-Drain)/开集(Open-Collector)输出

在开漏(或开集)输出配置中,GPIO引脚在输出低电平时直接接地,在输出高电平时则不连接(“开路”状态)。为了使引脚达到真正的高电平状态,需要外部上拉电阻连接到高电平(VCC)。

 

何时使用:

当多个设备需要共享同一信号线时,开漏输出允许任何一个设备拉低信号线,而不会对其它设备造成损害。

当你需要与未知电压水平的设备通信时。通过选择适当的上拉电阻电压,可以确保安全地与不同电压水平的设备通信。

当你需要实现电平转换功能时。例如,3.3V设备与5V设备的互连。

在需要使用外部上拉电阻来确保高电平状态的情况,例如在I2C通信中。

总结

使用推挽输出当你需要直接驱动负载,以及当你希望GPIO输出能够独立提供高电平和低电平时。

使用开漏输出当你需要多个设备共享一条信号线,或者需要与不同电压水平的设备通信时。

在设计电路时,考虑信号的目的、负载的类型、以及是否需要多个设备共享信号线,这些都是选择GPIO输出类型的重要因素。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值