

#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 初版