s3c6410中断驱动的问题
最近要在6410的开发板上编写一个中断驱动,在网上搜到了一篇文章,它里面有个中断结构,为:
struct button_irq_desc{
int irq;
int number;
char *name;
};
其中irq表示中断号,name表示中断名,那么请问number表示什么啊?
文章地址为:http://blog.csdn.net/wenhui_/article/details/6843512
------解决方案--------------------
因为程序中已经定义了结构体:
static struct button_irq_desc button_irqs[] = {
{IRQ_EINT(0), 0, "KEY0"},
{IRQ_EINT(1), 1, "KEY1"},
{IRQ_EINT(2), 2, "KEY2"},
{IRQ_EINT(3), 3, "KEY3"},
{IRQ_EINT(4), 4, "KEY4"},
{IRQ_EINT(5), 5, "KEY5"},
{IRQ_EINT(19), 6, "KEY6"},
{IRQ_EINT(20), 7, "KEY7"},
};
从中明确看见,一共使用了8个外部中断,8个按键key0~key7,
所以int nuber=0~7必定是按键号。
56 tmp = readl(S3C64XX_GPNDAT); //
57 down = !(tmp & (1<<number));
程序说明,按键接在 GPN口上,当有按键后,再判断一下按键当前的状态--抬起还是按下。