首页 > 代码库 > ok6410按键中断驱动程序
ok6410按键中断驱动程序
#include <linux/module.h> #include <linux/init.h> #include <linux/miscdevice.h> #include <linux/interrupt.h> #include <linux/fs.h> #include <linux/io.h> #define GPNCON 0x7F008830//ioremap使用的地址,与具体硬件相关 irqreturn_t key_int(int irq, void *dev_id) { printk("key down!\n"); return 0; } void key_hw_init(void) { unsigned short data; unsigned int *gpio_config; gpio_config = ioremap(GPNCON,4); data = http://www.mamicode.com/readw(gpio_config);>1.首先查看原理图,找到按键和cpu链接的位置和中断号。如下图所示,本程序以KEYINT1为例来说明按键驱动的编写方法。从图中可以看到KEYINT1与GPN0相连,使用的中断号为XEINT0。
2.查看datasheet查看找到GPN0,从中得到GPNCON的地址为0x7F008830,这个地址在ioremap的时候使用。还可以看到要将GPN0的bit[1:0]设置为10才是中断触发方式。
3.打开内核目录下的linux/arch/arm/mach-s3c64xx/include/mach/irqs.h查找外部中断0的中断号定义。在第158行找到了该定义。
ok6410按键中断驱动程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。