Linux按键设备驱动二

Posted 99度的水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux按键设备驱动二相关的知识,希望对你有一定的参考价值。

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

 

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

(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按键设备驱动二的主要内容,如果未能解决你的问题,请参考以下文章

Linux驱动开发-编写按键驱动

OK6410按键驱动程序

LINUX按键驱动程序

Linux嵌入式驱动学习之路按键驱动-poll机制

Linux 按键输入实验

linux中按键控制gpio灯的驱动程序怎么写。(自定义函数,gpio引脚)