STM32按键实验中连接按键的GPIO管脚是上拉输入还是下拉输入

一、理解

关于STM32按键实验中连接按键的GPIO管脚是配置为上拉输入还是下拉输入的理解:

以江科大自动协教学视频按键输入实验为例:

(1)按键KEY0<——>PE4  按键另一端接GND

(2)按键KEY1<——>PE3  按键另一端接GND

(3)按键WK_UP<——>PA0 按键另一端接VCC

二、再来看一下上拉下拉的图解

A.上拉输入

上拉输入模式下, I/O端口的电平信号经过上拉电阻进入到输入数据寄存器。

二、上拉下拉的选择:

 

IO内部接上拉电阻,此时如果IO口外部没有信号输入或者引脚悬空,IO口默认为高电平  如果I/O口输入低电平,那么引脚就为低电平,MCU读取到的就是低电平

STM32的内部上拉是"弱上拉",即通过此上拉输出的电流是很弱的,如要求大电流还是需要外部上拉。

B.下拉输入

下拉输入模式下, I/O端口的电平信号经过下拉电阻进入到输入数据寄存器。

IO内部接下拉电阻,此时如果IO口外部没有信号输入或者引脚悬空,IO口默认为低电平  如果I/O口输入高电平,那么引脚就为高电平,MCU读取到的就是高电平。

 

 三、个人理解--什么时候选择上拉,什么时候选择下拉

如果按键按下是高电平有效的话,我们就下拉,让该IO口在默认状态下处于低电平(即没有按键按下时IO口检测到的总是低电平,只有按键按下的时候IO口才会检测到高电平);

如果按键按下是低电平有效的话,我们就上拉,让该IO口在默认状态下处于高电平(即没有按键按下时IO口检测到的总是高电平,只有按键按下的时候IO口才会检测到低电平)。

简单点来说:
上拉输入就是指在IO口上(芯片内部)串一个电阻到vcc,正常情况IO监测到的是高电平,适用于外部接GND的按键输入

下拉输入是指在IO口上(芯片内部)串一个电阻到GND,正常情况IO监测到的是低电平,适用于外部接VCC的按键输入。(实在还不理解,记住会用也行)

你可能感兴趣的:(#,stm32,stm32,单片机,嵌入式硬件)