OS_EnableIrqMask

構文

#include <nitro/os.h>

OSIrqMask OS_EnableIrqMask( OSIrqMask intr );

引数

intr 許可したい IRQ割り込み要因を論理和で示したもの。

返り値

この関数を呼ぶ前の、IRQ割り込み要因設定です。要因については以下を参照してください。設定されていた要因の論理和が返ります。

割り込みの種類

説明

IRQ割り込み要因を設定します。現在の設定に加え、指定の要因を許可にします。


割り込みの種類

引数 intr で許可する割り込み要因を指定します。割り込みの種類については以下を参照してください。

割り込みの種類


// Vブランク割り込みと、DMA0割り込みを現在の設定に加えて許可する
OS_EnableIrqMask( OS_IE_V_BLANK | OS_IE_DMA0 );


注意

この関数は、「現在の設定に加え、指定の要因を追加する」関数です。指定の要因に上書き設定する関数はOS_SetIrqMask()となります。しかし、システムであらかじめ設定されていて設定を変更されると困るような割り込み要因もありますので、通常はOS_SetIrqMask() でユーザが上書き設定するような場面はないと思われます。したがって、設定にはOS_EnableIrqMask() を使用すべきでしょうし、それで正しい場合が殆どであると考えられます。

内部動作

IOレジスタの一つ、IE (Interrupt Enable) レジスタを操作しています。

参照

OS_DisableIrqMask, OS_SetIrqMask

履歴

2008/05/30 割り込みの種類を別ページにした。
2005/03/08 用語統一 [割込み] → [割り込み]
2004/03/12 OS_SetIrqMask() との違いを強調
2003/12/01 初版