OS_DisableInterrupts

構文

#include <iris/os.h>

OSIntrMode OS_DisableInterrupts( void );

引数

なし。

返り値

この関数を呼ぶ前の状態です。
OSIntrMode_Irq 列挙型

OS_INTRMODE_IRQ_DISABLE IRQディセーブル(禁止)
OS_INTRMODE_IRQ_ENABLE IRQイネーブル(許可)

と、OSIntrMode_Fiq 列挙型

OS_INTRMODE_FIQ_DISABLE FIQディセーブル(禁止)
OS_INTRMODE_FIQ_ENABLE FIQイネーブル(許可)

の倫理和となります。

説明

IRQ と FIQ の割り込みを禁止します。
これはすべての割り込みのマスターイネーブルを禁止します。IRQ割り込み要因のイネーブルを個別にセットしていても、この関数でIRQを禁止していると割り込みは発生しません。

返り値は、この関数を呼ぶ以前の状態となります。

内部動作

CPSRレジスタ(current program status register)の IRQとFIQ割込みの制御ビットをセット(セットがディセーブル)にしています。

参照

OS_EnableInterrupts, OS_RestoreInterrupts

履歴

2004/01/14 FIQ も処理に含めるようにした
2003/12/01 初版