PAD_SetIrq

構文

#include <iris/pad/pad.h>

void PAD_SetIrq( PADLogic logic, BOOL enable, u16 padMask )

引数

logic 割込み発生の論理指定フラグ
enable 割込み要求発生イネーブルフラグ
padMask ボタン・キー選択

返り値

なし。

説明

キーの入力に対する割込み発生の設定を行います。
発生する 割込みは、IRQ割込み要因 OS_IE_KEY に対応したものです。
本関数は、IOレジスタの REG_KEYCNT (Key Control) を使用しています。

enable がTRUE の場合、割込みを有効にします。FALSE の場合、enable以外の設定をどのようにしても割込みは発生しません。

logic で、ボタン・キーの状態に対しどのように割込みを発生させるかを指定します。
PAD_OR_INTR が指定されると、padMask で指定したキー・ボタンのうちどれか一つでも押された場合に割込みを発生させます。
PAD_AND_INTR が指定されると、padMask で指定したキー・ボタン全てが押された場合に割込みを発生させます。

padMask は処理の対象となるキー・ボタンを指定します。指定は PAD_Read() のボタン押下情報と同じです。

(例)
void IrisMain()
{
  // ---- キー割込みハンドラの設定
  OS_SetIrqFunction( OS_IE_KEY, keyintr );

  // ---- A ボタンか B ボタンのいずれか一方を押したら割込み発生
  PAD_SetIrq( PAD_OR_INTR, TRUE, PAD_BUTTON_A | PAD_BUTTON_B );

  // ---- 割込み許可
  OS_SetIrqMask( OS_IE_KEY );
  OS_EnableIrq();
}

void keyintr( void )
{
  // キー割込み処理
}

参照

PAD_Read, PAD_ClearIrq

履歴

2003/12/01 初版