① 按键所用开关为物理机械弹性开关,当机械触点断开、闭合时,由于机械弹性作用,开关不会马上稳定的接通或者断开。因而在闭合及断开的瞬间总是伴随有一连串的抖动
② 按键去抖的方法主要有两种
(1)硬件电路去抖
(2)软件延时去抖
* for循环等待
* 定时器延时
③ Linux内核使用struct timer_list来描述一个定时器
struct timer_list { struct list_head entry; unsigned long expires; void (*function)(unsigned long); unsigned long data; struct tvec_base *base; };
④ 定时器使用流程
(1)定义定时器变量
(2)初始化定时器:用init_timer,主要设置超时函数
(3)注册定时器:add_timer
(4)启动定时器:mod_timer
⑤ 简单示例
原文地址:https://www.cnblogs.com/wulei0630/p/9510759.html
时间: 2024-11-06 07:24:42