7自己写中断方式按键驱动程序(详解)

作者:银河娱乐1331-com   来源:http://www.migegirl.com    栏目: 银河娱乐1331登录    日期:2019-10-10

  后,然后放在开发板里insmod,并挂载好了buttons设备节点,如下图:

  如下图,并申请中断,当有按键按下时,就进入中断服务函数buttons_irq()打印数据:

  然后cat /proc/interrupts会发现申请的中断已经注销掉了,在-sh进程fd文件里也没有文件描述符5

  唤醒一个中断,会将这个中断重新添加到runqueue队列(将中断置为TASK_RUNNING状态)

  注意:此时的中断属于僵尸进程(既不在等待队列,银河娱乐1331登录也不在运行队列),当需要这个进程时,需要使用wake_up_interruptible(*qname)来唤醒中断

  (1)定义引脚描述结构体数组,每个结构体都保存按键引脚和初始状态,然后在中断服务函数中通过s3c2410_gpio_getpin()来获取按键是松开还是按下(因为中断是双边沿触发),并保存在key_val里(它会在.read函数发送给用户层)

上一篇:没有了       下一篇:1多队列网卡硬件实现