基于弹跳的时间戳按钮(中断模式)

发布时间:2019-07-11 09:36:14   编辑:admin浏览人次:274

当我最近在一个项目上工作时,我想到了一种在我移动键盘时与你分享的新方法。
实际上,定义dwTsOld变量非常容易,因此每个按钮都包含一个时间戳(最后一个键中断)。首先获取中断处理程序中的当前时间戳(核心时钟计数DWT_CYCCNT的值可用作时间戳,计算以及中断时注册和注册的时间戳之间的差异。
如果它小于建立的反弹时间(例如,20 ms),则认为它是无效中断(抖动的一部分)并直接返回到中断的处理。否则,它是有效的中断。您可以确定是否按下或按下了镜头类型(从上到下)从那时起,进行额外处理(例如向ucos系统下的其他任务发送消息,指示有按钮或窗口)弹出窗口需要额外的处理,最后将新的时间戳保存在dwTsOld变量中并退出中断。
这意味着当按下按钮或显示为有效按钮事件时使用第一条边,然后反弹时间(例如20毫秒)的中断完全消失。