#include <iris/os.h>OSIrqMask OS_SetIrqMask( OSIrqMask intr );| intr | 設定するIRQ割込み要因 |
この関数を呼ぶ前の、IRQ割込み要因設定。
IRQ割込みの要因を設定します。
OS_EnableIrq() などでIRQ割り込みのマスターイネーブルを許可にセットすると、この関数でイネーブルにしたIRQ割込み要因に対応するIRQ割込みだけが発生します。
引数intr は、以下の要因の論理和で表されます。
| OS_IE_V_BLANK | Vブランク割込み |
| OS_IE_H_BLANK | Hブランク割込み |
| OS_IE_V_COUNT | Vカウンター割込み |
| OS_IE_TIMER0 | タイマー0割込み |
| OS_IE_TIMER1 | タイマー1割込み |
| OS_IE_TIMER2 | タイマー2割込み |
| OS_IE_TIMER3 | タイマー3割込み |
| OS_IE_SIO | シリアル通信割込み(使用できません) |
| OS_IE_DMA0 | DMA0割込み |
| OS_IE_DMA1 | DMA1割込み |
| OS_IE_DMA2 | DMA2割込み |
| OS_IE_DMA3 | DMA3割込み |
| OS_IE_KEY | キー割込み |
| OS_IE_CARTRIDGE | カートリッジIREQ/DREQ割込み |
| OS_IE_SUBP | サブプロセッサ割込み |
| OS_IE_SPFIFO_SEND | サブプロセッサ間送信FIFOエンプティ割込み |
| OS_IE_SPFIFO_RECV | サブプロセッサ間受信FIFOノットエンプティ割込み |
| OS_IE_CARD_DATA | カードデータ転送終了割込み |
| OS_IE_CARD_IREQ | カードIREQ割込み |
| OS_IE_GXFIFO | ジオメトリコマンドFIFO割込み |
(例)
// Vブランク割込みと、DMA0割込みを許可する
OS_SetIrqMask( OS_IE_V_BLANK | OS_IE_DMA0 );
// IRQ マスターイネーブル
OS_EnableIrq();
IOレジスタの一つ、IE (Interrupt Enable) レジスタを操作しています。
OS_GetIrqMask, OS_EnableIrqMask, OS_DisableIrqMask
2003/12/01 初版