0

我正在为 BeagleBoard-xM Rev C 上的用户按钮编写一个模块。现在,我只是想在调用中断处理程序时(即按下用户按钮时)打印一条消息。

用户按钮对应于 GPIO 引脚 4。我正在执行 gpio_to_irq(4) 以获取我通过处理程序传递给 request_irq() 的 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*);

但是当按钮被按下时,中断处理程序永远不会被调用。关于如何调试的任何指示?

谢谢!

4

1 回答 1

0

我没有将 4 传递给 gpio_to_irq。我的错,我传递了先前 gpiolib 函数调用的返回值。我无法弄清楚,因为变量名称太相似而无法被捕获。我纠正了它。它奏效了!谢谢!

于 2012-11-24T11:19:39.723 回答