首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

s3c6410中断驱动的有关问题

2012-03-21 
s3c6410中断驱动的问题最近要在6410的开发板上编写一个中断驱动,在网上搜到了一篇文章,它里面有个中断结构

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口上,当有按键后,再判断一下按键当前的状态--抬起还是按下。

热点排行