GPIO八大模式

GPIO八大模式_gpio的8种模式-CSDN博客

推挽输出和开漏输出区别_推挽与开漏输出模式的区别-CSDN博客 

简介

GPIO主要有八种模式,分别为推挽输出、开漏输出、复用推挽输出、复用开漏输出、浮空输入、上拉输入、下拉输入、模拟输入。

下面先解释一下,图1中右侧的保护二极管和左侧的寄存器。

注意:输出模式没有上拉和下拉的区分

在这里可以将P-MOS管假想为NPN,N-MOS假想为PNP,这样就比较好去理解这个电路

推挽电路

当Vin电压为V+时,上面的N型三极管控制端有电流输入,Q3导通,电流方向如下图。

经过上面的N型三极管提供电流给负载R,这就叫「推」。

经过下面的P型三极管提供电流给负载,这就叫「挽」。

所以称为推挽(push-pull)电路。

开漏电路 开集就是集电极C啥都不接,直接输出;

 

如果输出直接带负载,则只能输出低电平;如果要控制一个负载,比如一个LED,那就必须接一个上拉电阻,就像下图这样。

当Vin没有电流,Q1断开时,上拉电源给输入电流,LED亮。当Vin流入电流,Q1导通时,导致led无压差,LED灭。 

如何选择最大输出速度:

在实际编程过程中原则是选择满足最低要求的最小值,因为过快的上升沿和下降沿会增加芯片功耗,同时会使得数字信号带宽增加,从而对电路板上的其他电子元器件,产生电磁干扰

1、LED: 因为人眼能分辨的闪烁频率大概是每秒10次,所以驱动二极管的频率也不宜太高,一般不会出现1000hz,所以这里我们选择低速

2、英飞凌的TLE5012B编码器:使用SPI总线和单片机通信,最大通信速率是8Mbps,所以这里选择中速

3、使用单片机上的USB2.0:通信速率是12Mbps,所以这里选择高速

IO口的输入模式:

1、浮空输入
如图1所示, 输入驱动器的虚线框内,两个开关都断开。此时读入的数据和I/O状态一致。

浮空输入的缺陷为当没有数据输入时,读取数据不稳定。

2、上拉输入
如图1所示, 输入驱动器的虚线框内,上面VDD的开关闭合,VSS的开关断开,则为上拉输入。若I/O口为高点平则读取的为高电平,若I/O口为低电平则读取的为低电平。

上拉输入的优势为当I/O口没有信号输入时,它可以将数据稳定在高电平。

3、下拉输入
如图1所示, 输入驱动器的虚线框内,上面VDD的开关断开,VSS的开关闭合,则为下拉输入。若I/O口为高点平则读取的为高电平,若I/O口为低电平则读取的为低电平。

下拉输入的优势为当I/O口没有信号输入时,它可以将数据稳定在低电平。

4、模拟输入
模拟输入是我们需要对一个模拟信号进行读取。
在我们使用单片机的时候,我们有时候需要用AD采集到IO口上面的真实电压。这就有了我们所需要的模拟输入。为了让外部的电压真实的读取到单片机的AD模块,我们既不能闭合上拉和下拉的开关,也不能让信号经过施密特触发器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值