(STM32)判断按键硬件电路配置成哪种GPIO工作模式

对应b站江科大课程  “按键控制LED” 一节

实现现象:

当按键被按下时,引脚处于低电平状态,LED灯亮。--> 给低电平(0),灯亮

当按键松开时,默认处于高电平状态,LED灯灭;    -->  给高电平(1),灯灭

在配置GPIO工作模式的时候,应该配置成哪种工作模式?

k1按键的两个引脚,其中一个引脚接PA0,另一个引脚接GND。

由于K1按键接到了GND,当按键被按下时,PA0是低电平状态;当按键松开时(默认状态),引脚悬空,电平无法确定,要想默认情况下引脚处于高电平(为什么得高电平?因为引脚电平只有高电平和低电平,按键被按下是低电平,那反之默认状态就得配置高电平,要配置高电平就得配置上拉输入模式。),就得使用上拉输入模式,所以GPIO的工作模式设置成上拉输入模式,即PA0配置上拉输入模式。


 外部接了上拉电阻(这种情况引脚不会处于悬空状态),

当按键松手时,引脚由于上拉电阻的上拉作用,自然保持为高电平;

当按键按下时,引脚直接接到GND,一股无穷大的力把这个引脚往下拉,引脚变成低电平。

总结:引脚接GND,且外部接了上拉电阻(引脚不会处于悬空状态),则GPIO工作模式可以配置为上拉输入或浮空输入。


PA0通过按键接到3.3V,也就是引脚接VCC,所以GPIO工作模式配置为下拉输入模式,即PA0设置下拉输入模式。

为什么设置下拉输入模式?

因为引脚悬空时无法确定引脚是高电平还是低电平,所以配置下拉模式。

因此,当按键松开时默认为低电平,按键被按下时为高电平。


 引脚接VCC,且有外接下拉电阻,所以GPIO工作模式可以配置为下拉模式或浮空输入模式。

 总结

个人理解:

引脚的电平只有两种,高电平和低电平。

如果没有外接上拉电阻或下拉电阻,就看引脚是接GND还是VCC;

如果接GND,则配置成上拉输入模式,如果接VCC,则配置成下拉输入模式。

如果有外接上拉电阻或下拉电阻,也可以配置成浮空输入模式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值