• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32f103 按键长按跟短按有什么好的办法实现

imtzhangge 2020-03-22 浏览量:1934
stm32f103 按键长按跟短按有什么好的办法实现。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 通常的做法就是IO中断配合定时器来实现,将IO中断配置为双边沿触发,一个边沿触发计时,另一个停止计时,然后读取定时器的值
    • 发布于 2020-03-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • 用定时器加外部中断时间,按下按键触发中断,然后开启定时器,抬起按键停止计时,然后通过时长判断长按还是短按
    • 发布于2020-03-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 普遍的做法都是触发中断,并进行计数比较来实现的,超过阀值的就是长按,否则为短按。
    • 发布于2020-03-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 按钮接引脚,引脚使用中断,中断中打开定时器计时,区分长短按
    • 发布于2020-03-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 连接按键的IO口配置为双边沿中断,同时配置一个1ms定时器中断。当按键按下时,触发外部中断,在外部中断内判断IO口电平,以此确定此为上升沿还是下降沿。下降沿则代表按键按下,开始计时,上升沿则代表按键松开,停止计时。上升沿中断时,在中断内置位“key_handle”,主循环在判断到“key_handle”被置位后,则开始判断计时器时间,若是时间在10ms-1s内,(10ms是去抖值,1s是与短按与长按的分界点。)则判断按键为短按;若时间大于1s,则判断按键为长按。
    • 发布于2020-03-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32f103 按键长按跟短按有什么好的办法实现