MSP430F1xxファミリーが搭載するクロックモジュールのBCM (Basic Clock Module) は、
LFXT1発振器(LFXT1CLK)とXT2発振器(XT2CLK)の異常を検知すると、
IFG1[OFIFG]フラグ(発振器異常割り込みフラグ)をセット(1)します。
出典:MSP430x1xx Family User’s Guide(SLAU049F)
発振器(クロック)異常を検出しOFIFGフラグがセット(1)される条件は以下の
いずれかとなります。
1. LFXT1発振器がHF-modeで作動中 (SR[OSCOFF] = 0, BCSCTL1[XTS] = 1)、
LFXT1CLKの周波数異常を検出したとき。
2. POR (Power On Reset) 直後。
3. XT2発振器が作動中 (BCSCTL1[XT2OFF] = 0)、
XT2CLKの周波数異常を検出したとき。
4. XT2発振器が搭載されていないデバイスで、
LFXT1発振器がLF-modeで作動 (BCSCTL1[XTS] = 0) しているとき。
出典:MSP430x1xx Family User’s Guide(SLAU049F)
* 注意事項 *
1.
上記条件2にあるように、IFG1[OFIFG] (発振器異常割り込みフラグ) は、
POR直後にセット(1)されます。
IFG1[OFIFG]は自動的にクリア(0)されないので、
IE1[OFIE] (発振器異常割り込みイネーブルビット) を
セット(1)する前に、プログラムでクリア(0)することが必要です。
2.
上記条件4にある、XT2発振器が搭載されていないデバイスで、
LFXT1発振器をLF-modeで作動させると、
IFG1[OFIFG](発振器異常割り込みフラグ)は
セット(1)されたままとなりクリア(0)できません。
このとき、IE1[OFIE] (発振器異常割り込みイネーブルビット) がセット(1)
されているとNMI割り込みが生成されます。
したがって、XT2発振器が搭載されていないデバイスでLFXT1発振器を
LF-modeで動作させるときは、
IE1[OFIE] (発振器異常割り込みイネーブルビット) を
セット(1)してはいけません。