linux驱动学习--第二十一天:第十二章:Linux 字符设备驱动综合实例(一) 键盘驱动

按键的设备驱动

 

在嵌入式系统中,按键的硬件原理比较简单,通过一个上拉电阻将处理器的外部中断(或GPIO)引
脚拉高,电阻的另一端连接按钮并接地即可实现。如图12.1 所示,当按钮被按下时,EINT10、EIN13、EINT14、
EINT15 上将产生低电平,这个低电平将中断CPU(图中的CPU 为S3C2410),CPU 可以依据中断判断按
键被按下。
但是,仅仅依据中断被产生就认定有一次按键行为是很不准确的,所有按键、触摸屏等机械设备
都存在一个固有的问题,那就是“抖动”,按键从最初接通到稳定接通要经过数毫秒,其间可能发生
多次“接通―断开”的过程。如果不消除“抖动”的影响,一次按键可能被理解为多次按键。
消除按键抖动影响的方法是:在判断有键按下后,进行软件延时(如20ms,在延时过程中要屏蔽对应
中断),再判断键盘状态,如果仍处于按键按下状态,则可以断定该按键被按下,流程如图12.2(a)所示。
如果按键对应的引脚本身不具备中断输入功能,则可以改为完全查询方式,流程如图12.2(b)所示。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值