我正在为BeagleBoard-xM Rev C上的用户按钮编写模块。现在,我只是在调用中断处理程序时,即按下用户按钮时尝试打印消息。
用户按钮对应于GPIO引脚4.我正在执行gpio_to_irq(4)以获取IRQ号,我正在使用处理程序传递给request_irq(),这是成功的。实际上,这是我的request_irq电话。
irq_res = request_irq(4, interrupt_handler, IRQF_TRIGGER_FALLING, "Interrupt Test", NULL);
我的中断处理程序看起来像这样。
static irqreturn_t interrupt_handler(int, void*, struct pt_regs*);
但是按下按钮时,永远不会调用中断处理程序。关于如何调试它的任何指针?
谢谢!
答案 0 :(得分:0)
我没有将4传递给gpio_to_irq。我的不好,我正在传递前一个gpiolib函数调用的返回值。我无法理解,因为变量名称太相似而无法捕获。我纠正了。它奏效了!谢谢!