您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 中断驱动 >

ARM应用]按键中断驱动实例

发布时间:2019-06-15 21:02 来源:未知 编辑:admin

  在嵌入式系统中,按键的硬件原理比较简单,通过一个上拉电阻将处理器的外部中断(或GPIO)引脚拉高,电阻的另一端连接按键并接地即可实现。如图2-1所示:

  仔细看图2-1,不难知道,当按键被按下时,EINT0上将产生低电平,这个低电平将中断CPU,CPU可以依据中断判断按键被按下。

  所有按键、触摸屏等机械设备都存在一个固有的问题,那就是抖动,按键从最初接通到稳定接通要经过数毫秒乃至数十毫秒,其间可能发生多次接通―断开的过程。因此仅仅依据中断被产生就认定有一次按键行为是很不准确的。如果不消除抖动的影响,一次按键可能被理解为多次按键。

  消除按键抖动影响的方法是:在判断有键按下后,进行软件延时(如20ms,在延时过程中要屏蔽对应中断),再判断键盘状态,如果仍处于按键按下状态,则可以判定该按键被按下。图2-2是典型的包含消抖功能的按键中断处理流程。

  (1)编写按键中断设备驱动程序,驱动程序中手动定义设备名称及主设备号为213,实现与BUTTON设备相应的端口配置,中断的申请,以及读写设备的接口函数等。

  (3)编写驱动的测试程序,在程序中实现打开BUTTON设备和LED设备,主循环中不断读取按键的状态,当按键按下时,控制LED亮一段时间(1S左右)后灭掉。

  进入button目录,在该目录下建立两个子目录driver和test,前者用来存放驱动程序,后者用来存放驱动测试程序:

  dev.status=BUTTON_X;//将按键置为抖动状态,说明有按键中断,但不一定有键按下

http://rotorooterpa.com/zhongduanqudong/39.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有