Armadilloフォーラム

GPIOによる割り込み確認方法

ishikawa

2014年4月30日 16時36分

mitaniです。

いつもお世話になっております。

現在Armadilo-440で、GPIOによる外部ボタン割り込み処理を作成しようとしています。

資料より、/sys/class/gpio/(GPIO_NAME)/directionで「入出力方向」、/sys/class/gpio/(GPIO_NAME)/valueで「値設定、取得」できるところまではわかりました。
実際にはGPIOの先に外部ボタンがあり、ボタンが押されたかどうかを認識したいのですが、どのように割り込み確認すればよいでしょうか?

短い時間周期で中身を確認してもいいのですが、別処理が動いている中での割り込みとして確認したいので、あまり負荷になっては困ります。
できれば液晶のタッチイベントのように、割り込みが発生したら指定処理が起動してくれるとありがたいです。

初歩的な質問で申し訳ありませんが、ご教授よろしくお願いいたします。

コメント

私自身は割り込みの確認は行なっていませんが、以下の資料の9.9.1辺りにGPIOの説明があります。
そこに割り込みを使ったサンプルもあるので参照してみては如何でしょう。

armadillo-400_series_software_manual_ja-1.8.1.pdf

普通に GPIO として使うのであればサンプルの通りで良いのですが、ボタンを
付けるなら input device に見えた方が、後々便利かもしれません。

a440 の液晶ボードに付いているボタンでは、gpio key[1][2] を使っているの
で、参考になると思います。

[1] linux/drivers/input/keyboard/gpio_keys.c
[2] linux/arch/arm/mach-mx25/armadillo400.c

あと、ただの GPIO なので、チャタリングには気をつけてください。