shibata5
2018年12月10日 10時13分
はじめまして。
ドライバーを製作中です。
GPIOの立下りエッジの割込みを実現したいと考えています。
以下のAPIを使用しています。割込みは発生しますが、立下りエッジではありません。
立下りエッジの検出設定の仕方を教えていただけませんか。
・request_irq
・irq_set_irq_type
割込み自体は発生します。割込動作は、以下になります。
・HIGHのときは、割込みは発生しません。
・HIGHからLOWに切替えたときに割込みが発生します。
・LOWの間、周期的(周期は計測していません)に割込みが発生します。
・LOWからHIGHに切替えたときに割込みが発生します。
定期的に割込みが発生するため、そのときの割込みかも知れませんが、
必ず、立ち上がり時の割込みログが残っています。
目標は、立下りエッジのみの割込検出です。
もしかしたら、gpiolibが原因かと思っています。何も手を加えていません。
/sys/class/gpio内のedgeの内容は、"none"です。
どなたか、ご教授いただけませんか。
よろしくお願いします。
コメント
shibata5
hidaka.hiroshi
2018年12月10日 10時25分
> 割込み自体は発生します。割込動作は、以下になります。
> ・HIGHのときは、割込みは発生しません。
> ・HIGHからLOWに切替えたときに割込みが発生します。
> ・LOWの間、周期的(周期は計測していません)に割込みが発生します。
> ・LOWからHIGHに切替えたときに割込みが発生します。
> 定期的に割込みが発生するため、そのときの割込みかも知れませんが、
> 必ず、立ち上がり時の割込みログが残っています。
>
>
> 目標は、立下りエッジのみの割込検出です。
> もしかしたら、gpiolibが原因かと思っています。何も手を加えていません。
> /sys/class/gpio内のedgeの内容は、"none"です。
もしかして、GPIOに入ってくる信号にチャタリングが発生してませんか?
何がGPIOに繋がっているのか判らないので違うかも知れませんが、LOW→HIGHの時
にもチャタリングが発生してそのために割り込みが発生している可能性があります。
一度、オシロスコープ等で波形を確認されてはいかがでしょうか?