1.中断处理函数
static irqreturn_t buttons_interrupt(int irq, void *dev_id);
每次按键触发中断,进入中断处理函数,进行相关操作。
中断资源弥足珍贵,最好选择在打开设备即需要使用时注册,而不是装载模块时,若退出模块时请切记释放中断资源。
2.工作队列
static DECLARE_WAIT_QUEUE_HEAD(button_waitq);
创建了一个等待队列,每当有一按键按下,激活队列中一个等待的任务。
poll_wait(file, &button_waitq, wait);
监测进程队列button_waitq里的进程,如果ev_press置1,就跳出等待。
wait_event_interruptible(button_waitq, ev_press);
等待,当ev_press为1时,跳出。
wake_up_interruptible(&button_waitq);
数组可读,唤醒休眠的进程。
当加进udelay(20000);消抖动时,出现错误,没网上,有空再搞搞
insmodbutton.ko
button:Unknownsymbol__bad_udelay
insmod:cannotinsert'button.ko':unknownsymbolinmoduleorinvalidparamete
分享到:
相关推荐
windows驱动程序开发的学习笔记,对初学windows驱动程序下的开发很有帮助,对开发中会出现的问题做了详细的分析
HTML5高级程序设计学习笔记,僅供參考。
C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点笔记.doc C语言程序设计重点...
C++程序设计复习笔记.doc
1. 设备驱动定义 2. 模块 4. 重要的数据结构 5. 字符设备 2. 如果申请的设备编号范围的主设备号为 0,那么表示设备驱动程序请求动态分配一个主设备号
《ASP程序设计》备课笔记 《ASP程序设计》教学大纲 《ASP程序设计》考试大纲 《ASP程序设计》实验备课笔记 《ASP程序设计》实验大纲 《ASP程序设计》实验指导书 《ASP程序设计》期末考试答案 《ASP程序设计》期末...
JS程序设计笔记JS程序设计笔记
vb程序设计笔记vb程序设计笔记
这个是网上高手学习linux设备驱动程序的学习笔记,结合linux设备驱动程序第三版,值得学习。
Linux内核与设备驱动程序学习资料笔记+源码.zipLinux内核与设备驱动程序学习资料笔记+源码.zipLinux内核与设备驱动程序学习资料笔记+源码.zipLinux内核与设备驱动程序学习资料笔记+源码.zipLinux内核与设备驱动程序...
Linux内核与设备驱动程序学习笔记及源码.zip Linux内核与设备驱动程序学习笔记及源码.zip Linux内核与设备驱动程序学习笔记及源码.zip Linux内核与设备驱动程序学习笔记及源码.zip Linux内核与设备驱动程序学习笔记...
《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》读书笔记《嵌入式Linux C语言应用程序设计》...
1026 mini2440的按键驱动程序和测试程序详解.doc
1、掌握主窗口、子窗口的...7、掌握文件存储(设计存储结构、文件的保存与打开) 8、掌握对话框的使用和参数传递 9、掌握全局变量、外部静态变量、局部静态变量、自动变量的作用范围、生命周期 10、掌握函数指针的使用
谭浩强C程序设计读书笔记以及PPT.rar 谭浩强C程序设计读书笔记以及PPT.rar
《linux设备驱动程序》(第三版)的学习笔记,对于学习设备驱动的朋友十分有用
Java程序设计笔记 对于初学者应该能有一些帮助 ,有问题请留言
Java语言程序设计学习笔记,配套的md文件,查找起来方便一些
Visual C++程序设计学习笔记.rar Visual C++程序设计学习笔记.rar
oracle 9i pl/sql程序设计笔记。