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

stm32可以实现多个按键同时短按的检测吗?

1511039901 2018-06-22 浏览量:3718
stm32要实现多个按键同时短按的检测,同时如果多个按键同时长按的操作也要可以很好的检测到,这样的话,就比较容易导致同时短按的操作不灵敏,很容易进入长按
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我移植arduino官方那个keypad库做过stm32矩阵键盘,把原库里的关于AVR上拉输入的句子注释掉就行。

    每个按键加上二极管以后非常稳定,可以检测多键按下、松开和长按。对按键抖动处理得比较好,并且长按检测时间可以调整。

    这个库非常巧妙,先把端口设置为输出,拉高以后在切换到上拉输入模式,一旦被拉低就检测到按键被按下。在stm32上的性能非常好,矩阵键盘扫描周期小于1微秒。

    • 发布于 2018-06-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:14
  • 使用GPIO中断 中断可以很好的检测短按
    • 发布于2018-06-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 理论上是可以的,将检测gpio配置相同即可,做输入用,检测输入信号,当多个按键的gpio口同时收到低电平则说明同时按下了。
    • 发布于2018-06-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个完全可以做到,直接用中断检查,然后用时间计时判断
    • 发布于2018-06-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 按下以后计时嘛,检测按键按下的边沿信号,然后开始计时
    • 发布于2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种最好配置为IO中断检测,中断同时用上升沿触发和下降沿触发,然后靠定时器来进行计时
    • 发布于2018-06-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况,建议加一块cpld,32直接执行会漏检
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 配置多个IO进行检测,设置中断;按下后肯定多个IO状态都变了,会同时出发中断,然后开启计时。
    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况就需要一个按键占一个IO进行独立扫描了,不能为了节省IO而用矩阵键盘实现。​

    • 发布于2018-06-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的同时要求的时间精度是多高的呢,人所能感觉到的同时还是可以达到的。但也是一个一个的去检测的
    • 发布于2018-06-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 手的短按是可以的。

    毕竟单片机的速度要快于手很多倍了

    • 发布于2018-06-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 同时检测很难做到,因为stm32一次只能执行一个任务,如果两个按键不是同时触发的话用一个中断进行检测就可以了
    • 发布于2018-06-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以的,设其中一个按键中断,然后再中断里判断另一个按键
    • 发布于2018-07-13
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32可以实现多个按键同时短按的检测吗?