request_irq()和free_irq()分析完毕后,接下来开始编写上升沿中断的按键驱动
如下图,需要设置4个按键的EINT0, EINT2, EINT11, EINT19的模式为双边沿,且设置按键引脚为中断引脚.../arch/irqs.h,被linux/irq.h调用
buttons_irq : 中断服务函数,
IRQT_ BOTHEDGE: 双边沿中断, 定义在 asm/irq.h,被linux/irq.h...进程fd文件里也没有文件描述符5
7.改进中断按键驱动程序
使用等待队列,让read函数没有中断时,进入休眠状态,降低CPU....:状态,等于0时就是中断进入休眠, 1:退出休眠
7.2 驱动程序步骤
(1)定义引脚描述结构体数组,每个结构体都保存按键引脚和初始状态,然后在中断服务函数中通过s3c2410_gpio_getpin(...下节继续改进按键程序—使用poll机制
本节驱动代码如下:
#include linux/module.h>
#include linux/kernel.h>
#include linux/fs.h