stm32CubeMX------------按键之上拉电阻和下拉电阻

很多小伙伴会对上拉电阻和下拉电阻的配置有疑惑,下面我们通过一个小实验来给大家得出正确答案
本次实验用的是正点原子stm32f103RBT6NANo版,软件:stn32CubeMX
我将用到LED0、LED1、LED2、LED3、LED4、KEY0、KEY1、KEY2、WK_UP
LED0----------------------PC0
LED1----------------------PC1
LED2----------------------PC2
LED3----------------------PC3
LED4----------------------PC4

WK_UP --------------PA0
KEY0 ----------------PC8
KEY1-----------------PC9
KEY2------------------PD2
按键控制灯
KEY0-------------LED0
KEY1-------------LED1
KEY2-------------LED2
按键原理图
从原理图可以看出WK_UP、KEY0、KEY1、KEY2没有按下时处于一种悬浮的状态,就是这时候检测该电平可能是高电平或者低电平,所以我们需要确保电平的唯一性,我们就需要引用上拉电阻还是下拉电阻。
上拉电阻是一个电阻连接到VCC
下拉电阻是一个电阻连接到GND
在这里插入图片描述
上拉电阻接了个高电平,下拉电阻接了个低电平
现在做个实验,看一下上拉电阻和下拉电阻对按键实验的影响:
KEY0,KEY1,KEY2的原理图是一样的,Cube配置KEY的GPIO mode全部设置为Input mode(悬浮输入),然后我们只改变GPIO Pull-up/GPIO Pull-down。led的配置就不讲了,看我前一篇的博客:https://blog.csdn.net/xiaobai_nixi/article/details/113330135

在这里插入图片描述

实验代码:
在这里插入图片描述

实验结果:KEY1按键正常控制LED1,LED0会受KEY1按键的影响时亮时灭。轻轻触摸一下KEY0,LED0会亮灭。KEY2不可以控制LED2,程序下进去LED2就会亮。

总结:
根据下面的图配置按键,确保按键没按下时电平的唯一性
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值