STM32Cube-按键检测

STM32Cube-按键检测

提示:以下是本篇文章正文内容,下面案例可供参考

一、按键检测

1.硬件设计

按键的一端连接GND,也就是低电平;另一端连接嵌入式的IO口,每当按键被按下的时候,IO口将会被按键的GND拉低,这时读取IO口的电平是0。这样的连接有个缺点:未按下按键时,IO口浮空,是一个不确定的电平,可以受到静电干扰而误动作。二种办法可以解决:一是将IO口设置为高电平,这样就固定为高电平了,二是在软件中设置这个IO口为上拉输入模式。
在这里插入图片描述

2.软件消抖

由于机械点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,而是在闭合及断开的瞬间均便随一连串的抖动,抖动时间的长短有按键的机械特性决定,一般为5~10ms。按键稳定闭合时间的长短则由操作人员的按键动作决定,一般为零点几秒至数秒。按键抖动会引起按键被误读多次。为了确保CPU对按键的一次闭合仅做一次处理,必须去除按键抖动。
在这里插入图片描述

二、软件编程

1.配置STM32Cube

2.使用按键控制点亮LED

代码如下(引脚配置):

void MX_GPIO_Init(void)
{
   

  GPIO_InitTypeDef GPIO_InitStruct = {
   0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOA_CLK_ENABLE();
  __HAL_RCC_GP
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电路发烧友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值