2017-08-17 4 views
0

私は最近、エッジトリガとレベルトリガの両方のGPIO割り込みの作業を開始しました。私はエッジトリガを実装していますが、正常に動作しているようですが、レベルトリガ割り込みでは、少し混乱しています。GPIOレベルでのトリガの理解

と仮定、私は初期状態ためピンをLowに引っ張ると割り込みトリガーハイレベルとしてピンを設定します。ですから、Vccを私のピンに接続すれば、私は割り込みを受け取ります。それはいいです。私の質問は、私がVccをこのピンに接続し続けると、割り込みが来るか、一度だけトリガすべきかどうかです。 注:Gpioハンドラ割り込みルーチンで保留中の割り込みをクリアしました。

良い参考資料がある場合は、リンクも提供してください。詳細を知りたいと思います。ありがとう

+0

実験によって学習に何が起こりましたか? – sawdust

答えて

2

割り込みが来るか、一度だけトリガする必要がありますか?

これは、一般に、レベルトリガ割り込みの主な特徴です。入力ラインがトリガレベルにあり、割り込みフラグがクリアされるとすぐに、割り込みがトリガされます。

GPIOラインが常にトリガレベルにある場合、割り込みが最初にトリガされます - そして、ISRの割り込みフラグをクリアすると、割り込みが再度トリガされます - おそらくそれほど有用ではありませんが、欲しいです。このようなシステムでは、コードはISRを継続的に実行し、それ以外は何も実行しません。

+0

* "そして、割り込みフラグをクリアするとすぐに..." * - 割り込みを有効にします。 * "あなたのコードはISRを継続的に実行します" * - "コード"の代わりに、プロセッサを意味するのではありませんか? – sawdust

+0

もちろん、ISRのレベルセンスを変更することもできます(高いものから低いものへ)。あなたのISRは状態を必要とし、ISR実行イベントおよび遷移イベントのレイテンシ(最小パルス幅)のために遷移が失われる危険性があります。このため、通常はエッジトリガーに固執し、ISRのレベルを読み込みます。 –

関連する問題