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

私はgpio_to_irqに4を渡していませんでした。悪いことに、以前のgpiolib関数呼び出しの戻り値を渡していました。変数名が似すぎて捕まえられなかったので、私はそれを理解できませんでした。修正しました。そしてそれはうまくいきました!ありがとう!

于 2012-11-24T11:19:39.723 に答える