linux 中断函数request_irq 中的flags参数设为0表示什么意思

chensb666 2013-06-08 11:10:37
如题,请各位大牛指教
...全文
523 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guan506713512 2013-06-09
  • 打赏
  • 举报
回复
触发中断的方式。。
guan506713512 2013-06-09
  • 打赏
  • 举报
回复
/* * These correspond to the IORESOURCE_IRQ_* defines in * linux/ioport.h to select the interrupt line behaviour. When * requesting an interrupt without specifying a IRQF_TRIGGER, the * setting should be assumed to be "as already configured", which * may be as per machine or firmware initialisation. */ #define IRQF_TRIGGER_NONE 0x00000000 #define IRQF_TRIGGER_RISING 0x00000001 #define IRQF_TRIGGER_FALLING 0x00000002 #define IRQF_TRIGGER_HIGH 0x00000004 #define IRQF_TRIGGER_LOW 0x00000008 #define IRQF_TRIGGER_MASK (IRQF_TRIGGER_HIGH | IRQF_TRIGGER_LOW | \ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING) #define IRQF_TRIGGER_PROBE 0x00000010
guan506713512 2013-06-09
  • 打赏
  • 举报
回复
#define IRQF_TRIGGER_NONE 0x00000000
  • 打赏
  • 举报
回复
在Linux内核中,request_irq() 函数是注册中断服务函数:函数的原型如下: int request_irq (unsigned int irq, void (*handler)(int, void *, struct pt_regs *), unsigned long frags, const char *device, void *dev_id); 5个参数的含义如下: 第一个参数irq:申请的硬件中断号; 第二个参数handler:是一个函数指针,向系统登记的中断处理函数,是一个回调函数,当中断发生时,系统调用这个函数,传入的参数包括中断设备 id,寄存器值。 第三个参数flags:指定了快速中断或中断共享等中断处理属性。 第四个参数devices:指定设备驱动程序的名称。 第五个参数dev_id:传入中断处理程序的参数,可以为NULL,在注册共享中断时,此参数不能为NULL,作为共享中断时的中断区别参数。
  • 打赏
  • 举报
回复
指定了快速中断或中断共享等中断处理属性
voice_shen 2013-06-09
  • 打赏
  • 举报
回复
引用 楼主 chensb666 的回复:
如题,请各位大牛指教
就是没有指定触发方式。 所以只有此irq能接收的触发方式,都会在此irq上产生中断。 如:能接收上下沿触发方式,则会在此irq上升沿会产生中断,下降沿也会产生中断。

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧