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

STM32问题

TT__UUming 2017-09-27 浏览量:1022
stm32如何实现按键长按与短按的转变.
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 长按与短按可以通过调整中断触发之间的间隔来确定

    这里的按键,可以用边沿触发,上升沿触发计时,下降沿触发停止计时

    • 发布于 2017-09-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  •  正在用的按键扫描程序,短小精悍,长按键加上计时变量,时间没到,为短按,超时为长按
      unsigned char read_data=(PORT&0x30)^0x30; //按键扫描
      key_down=read_data&(read_data^key_cont); //按键上升沿
      key_up=key_cont&(read_data^key_cont); //按键下降沿
      key_cont=read_data; //按键长效值
    • 发布于2017-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 还有一种方法,就是按下后使用定时器进行计时
    • 发布于2017-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 就定時器計時就可以了

    基本上直接調用sys_tick

    然後按鍵設為外部上升沿,下降沿中斷

    計算時間差值即可


    • 发布于2017-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 通过在一定的时间内记录按下的次数应该也是可行的。
    • 发布于2017-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 长按和短按是根据人手动作的快慢决定的
    • 发布于2017-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 按下触发定时器,抬起停止定时器,根据计数值确定
    • 发布于2017-10-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32问题