首页 > 系统服务 > 详细

Linux按键设备驱动二

时间:2018-08-21 13:47:21      阅读:189      评论:0      收藏:0      [点我收藏+]

① 按键所用开关为物理机械弹性开关,当机械触点断开、闭合时,由于机械弹性作用,开关不会马上稳定的接通或者断开。因而在闭合及断开的瞬间总是伴随有一连串的抖动

 

② 按键去抖的方法主要有两种

(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

 

⑤ 简单示例

 

Linux按键设备驱动二

原文:https://www.cnblogs.com/wulei0630/p/9510759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!