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...如下图,并申请中断,当有按键按下时,就进入中断服务函数buttons_irq()打印数据:
?...进程fd文件里也没有文件描述符5
7.改进中断按键驱动程序
使用等待队列,让read函数没有中断时,进入休眠状态,降低CPU....下节继续改进按键程序—使用poll机制
本节驱动代码如下:
#include linux/module.h>
#include linux/kernel.h>
#include linux/fs.h