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