使用定时器实现按键防抖
利用内核定时器来跳过按键按下时的电压脉冲,每个脉冲都会使定时器重置,当定时器停下来时就意味着按键已经稳定按下了。
具体代码不贴了,重点记下内核定时器的使用
初始化定时器。定时器的回调函数就在"timer"里面。
void fastcall init_timer(struct timer_list *timer);
注册定时器。注意这是一个单次定时器,这意味着它每次触发以后你都得重新设置一次。
void add_timer(struct timer_list *timer);
重置定时器。"expires"指的是多少个节拍之后触发定时器,你可以用msecs_to_jiffies()函数帮你把微妙转成节拍数。
int mod_timer(struct timer_list *timer, unsigned long expires);