• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PICのPIN変化割り込みについて)

PICのPIN変化割り込みについて

このQ&Aのポイント
  • PICのPIN変化割り込みの使い方とは何でしょうか?1→0でも0→1でも検出ができるようですが、一度PORTBをWに読み出す必要がある理由がわかりません。
  • スイッチでON,OFFする場合にON時とOFF時を検出したい場合、初期状態でPORTBをWに読み込み初期値を設定し、スイッチの状態変化を検出することができます。しかし、詳しい使い方については本に載っていないため、よく分かりません。
  • PICのPIN変化割り込みの使い方について詳しく教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tadys
  • ベストアンサー率40% (856/2135)
回答No.1

この割り込みはポートが変化すると割り込みフラグが立つようになっています。 割り込みが許可されていれば割り込みが発生しますがそのままでは割り込みフラグはクリアされないのでそのまま割り込みから抜けると再度割り込みが発生します。 割り込みフラグをクリアするためにはPORTBを読み出す必要があります。 割り込み前の状態を覚えておいて割り込みの中ではどう変化したかによって処理を行うのが良いでしょう。 ポートの変化(例えば1→0→1)が短時間で発生すると割り込みがあったのに変化がないように見える事があります。 割り込みの中で読んだポートの値は次の割り込みで変化をチェックするため記憶しておきます。 割り込み処理が長くなるようであればフラグを立てておいて割り込みの外で処理をするのが良いでしょう。

poyo3
質問者

お礼

頭の中で考えても実際にやってみると割り込みが連続して発生してしまいますね。フラグのクリアが上手くないのでしょうか。 処理の仕方も問題ありそうです。 回答ありがとうございます。

関連するQ&A