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

如何实现按键时长的判断

Angel_YY 2017-12-06 浏览量:1284
单片机中需要检测按键时长,按下去马上松开执行一个命令,按下去时长超过3秒执行另一个命令,如何判断这个按下的时长?IO口状态查询还是中断方式?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 查询和中断都可以实现,关键是要对松手时间进行计时。超过3S设制这次按键为别的意义。
    • 发布于 2017-12-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :https://www.tme.com/Document/165c3982ca7e80f7cf9e262a2c222148/TMHU28.jpg 回复

其他答案 数量:4
电子老工程师 回复了  :没有 回复

  • GPIO不应该是使用中断,而是使用定时器中断,对按下状态进行计时。如果GPIO有中断,按下后一直在中断里,其他程序无法运行了。

    • 发布于2017-12-06
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :AMT212E-V 供参考 回复

  • 使用定时器计时,在定时器中断中判断IO状态
    • 发布于2017-12-06
    • 举报
    • 评论 2
    • 0
    • 0
电子老工程师 回复了  :分析中 回复
电子老工程师 回复了  :依照图纸描述,不是正常情况,影响使用。 回复

  • 按下开始定时器计时,抬起停止计时。计算按下时间,判断执行动作。

    • 发布于2017-12-07
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :国产品牌里没找到这种磁芯,国产的都是圆圈样式的,没有客户这种的 回复

相关问题

问题达人换一批

如何实现按键时长的判断