我爱编程

MCU中GPIO口的驱动方式

2017-07-21  本文已影响157人  Ben2Feng

导读: MCU芯片中GPIO口的驱动方式大的可分为输出和输入两类,小的分可以分为8种。

一、四种输入方式

①上拉输入:上拉输入抗干扰能力强,特别适合接地信号的输入(比如低电平有效的按键信号输入)。其工作原理如图1所示。

**图1、上拉输入模式**

②下拉输入:下拉输入模式适合有效信号为高电平值的信号接入(比如高电平有效的按键信号输入),通过分压电阻来滤除信号毛刺,提高电平稳定性,其内部工作流程如图2 所示。

**图2、下拉输入模式**

③浮空输入:浮空输入的最大特点就是MCU 读到的引脚状态完全跟随外部IO 口的电平变化,一般用于按键输入,抗干扰性能不如上拉和下拉方式,如果按键状态取高低电平的话建议采用上下拉的方式,浮空输入用的比较少,浮空输入的工作流程如图3所示。

图3、浮空输入.PNG

④模拟输入:模拟输入方式,顾名思义,就是将I/O 端口上的信号作为模拟信号直接输入到STM32 内部的ADC上,进行采样转换。其内部工作流程如图4 所示。

**图4、模拟输入模式**

二、四种输出方式

①开漏输出:开漏输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对较强(一般20ma 以内)。另外,开漏输出模式下的I/O 端口还可以实现双向通信口的功能,通过图5 所示的内部原理图就能明显看出来。

**图5、开漏输出模式**

下面总结一下开漏输出的优点与不足:

优点:
不足:

②开漏复用输出:开漏复用输出与开漏输出的不同点在于:“输入控制电路”的输入端接的是STM32 芯片内部的特定功能外设,例如内部SPI 模块输出的MISO、MOSI、SCK 信号引脚。如图6所示。

**图6、开漏复用模式**

③推挽输出:推挽输出模式下,I/O 口可以输出高、低电平。本质上内部采用的是推挽结构,就是两个三极管分别受两互补信号的控制,同一时刻,只有一个三极管导通,另外一个截止。输出的高低电平值由IC 电路的电源决定。其内部工作流程如图7所示。

**图7、推挽输出**

③推挽复用输出:推挽复用输出与推挽输出的差别在于“输出控制电路”的输入端连接的是STM32 芯片内部的外设电路,例如STM32 内部I2C 电路的SCL、SDA 信号引脚。其内部工作流程如图8所示。

**图8、推挽复用输出**

三、推挽和开漏输出的常规电路图

**推挽和开漏输出的常规电路图**
上一篇 下一篇

猜你喜欢

热点阅读