• 締切済み

PICの割り込みフラグについて

PIC18F4550を使用して、RB0とRB1への入力の立ち上がり、立下りエッジを検出しようとしています。 素直に割り込み処理へ入れば実現できるのですが、他の処理との兼ね合いの問題もあり、出来れば割り込みを使用したくありません。 そこで思ったのですが、割り込みを禁止にしていても、各割り込みフラグは変化するのでしょうか? 回答よろしくお願いします。

みんなの回答

  • bug_bug
  • ベストアンサー率78% (36/46)
回答No.2

> INT0,1の割り込みを使おうと思ってます。 p.99右列中段に個々の割り込みフラグは許可ビットやGIEの状態に拠らずセットされる旨が記載されています. Individual interrupt flag bits are set regardless of the status of their corresponding enable bit or the GIE bit. その直後のNote項も目を通しておいた方が良いでしょう.

  • bug_bug
  • ベストアンサー率78% (36/46)
回答No.1

変化します. 参考URLのpage.100 FIGURE9-1に図解がありますが, PICでの割り込み禁止は, 単にandゲートでマスクしているだけです. RBIE=0の状態であってもRBIFはリセットしてあげれば, 次の変化でセットされます. ※リセット方法はpage.101のNote1を参照 RB0, RB1への入力の変化を結果的にポーリングするならどのみちポートの実値を読まなければ判定できないので, 別段RBIFフラグを参照する必要は無いと思いますが・・・・ (RBIF[7:2]の変化でもRBIFはセットされてしまう)

参考URL:
http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf
Torsten
質問者

お礼

回答ありがとうございます。 早速プログラムを組んで試してみたいと思います。 ちなみに、PORTB変化割り込みではなく、INT0,1の割り込みを使おうと思ってます。

関連するQ&A