

#include <nitro/os.h>OSIntrMode OS_RestoreInterrupts_IrqAndFiq( OSIntrMode state );| state | 設定する割り込み状態。OSIntrMode は u32 の typedef です。 |
この関数を呼ぶ前の状態を表す値を返します。
返り値の型は OSIntrMode ( u32 の typedef ) ですが、返る値は以下の OSIntrMode_Irq 列挙型の値と OSIntrMode_Fiq列挙型の値の論理和となります。
OSIntrMode_Irq 列挙型
| 値 | 以前の状態 |
|---|---|
| OS_INTRMODE_IRQ_DISABLE | IRQディセーブル(禁止) |
| OS_INTRMODE_IRQ_ENABLE | IRQイネーブル(許可) |
OSIntrMode_Fiq 列挙型
| 値 | 以前の状態 |
|---|---|
| OS_INTRMODE_FIQ_DISABLE | FIQディセーブル(禁止) |
| OS_INTRMODE_FIQ_ENABLE | FIQイネーブル(許可) |
割り込み状態を設定します。
state で与えた割り込み状態にします。与える状態はOSIntrMode_Irq 列挙型で表される IRQの状態と、OSIntrMode_Fiq 列挙型で表される FIQ の状態の論理和です。
ただし、通常 state には、OS_EnableInterrupts_IrqAndFiq() や OS_DisableInterrupts_IrqAndFiq() の返り値を指定することが多く、以前の状態に戻す目的で使用することが想定されています。
返り値は、この関数を呼ぶ以前の状態となります。
例
OSIntrMode e = OS_DisableInterrupts_IrqAndFiq();
// ここは割込み禁止状態
(void)OS_RestoreInterrupts_IrqAndFiq( e );
CPSRレジスタ(current program status register)の IRQとFIQ割り込みの制御ビットをセット/リセットします。
OS_EnableInterrupts_IrqAndFiq,
OS_DisableInterrupts_IrqAndFiq,
OS_RestoreInterrupts
2005/03/08 用語統一 [割込み] → [割り込み]
2004/03/04 OS_RestoreInterrupts から移行