GPIO_ENABLE_INTERRUPT_PARAMETERS 構造体 (gpioclx.h)

GPIO_ENABLE_INTERRUPT_PARAMETERS構造体は、汎用 I/O (GPIO) ピンを指定し、このピンの割り込み属性を記述します。

構文

typedef struct _GPIO_ENABLE_INTERRUPT_PARAMETERS {
  BANK_ID                     BankId;
  PIN_NUMBER                  PinNumber;
  GPIO_ENABLE_INTERRUPT_FLAGS Flags;
  KINTERRUPT_MODE             InterruptMode;
  KINTERRUPT_POLARITY         Polarity;
  UCHAR                       PullConfiguration;
  USHORT                      DebounceTimeout;
  PVOID                       VendorData;
  ULONG                       VendorDataLength;
} GPIO_ENABLE_INTERRUPT_PARAMETERS, *PGPIO_ENABLE_INTERRUPT_PARAMETERS;

メンバー

BankId

GPIO ピンを含む銀行の識別子。 M が GPIO コントローラー内のバンクの数の場合、 BankId は 0 から M – 1 の範囲の整数です。 GPIO フレームワーク拡張機能 (GpioClx) は以前、 CLIENT_QueryControllerBasicInformation イベント コールバック関数からコントローラー内のバンクの数を取得しました。 詳細については、「 CLIENT_CONTROLLER_BASIC_INFORMATIONの備考」を参照してください。

PinNumber

銀行相対ピン番号。 N がこのバンクの番号ピンの場合、 PinNumber は 0 から N - 1 の範囲の整数です。 GpioClx は以前、 CLIENT_QueryControllerBasicInformation イベント コールバック関数から各バンクのピン数を取得しました。 詳細については、CLIENT_CONTROLLER_BASIC_INFORMATIONNumberOfPinsPerBank メンバーの説明を参照してください。

Flags

GPIO ピンの構成を制御するフラグのセット。 現在、このメンバーに対してフラグは定義されていません。

InterruptMode

この GPIO ピンからの割り込み要求がレベルセンシティブかエッジ トリガーか。 このメンバーは、次のいずれかの値に設定されます。

  • LevelSensitive

  • ラッチ

詳細については、「 KINTERRUPT_MODE」を参照してください。

Polarity

この GPIO ピンからの割り込み線がアクティブハイかアクティブローか。 このメンバーは、次のいずれかの値に設定されます。

  • InterruptActiveHigh

  • InterruptRisingEdge

  • InterruptActiveLow

  • InterruptFallingEdge

  • InterruptActiveBoth

詳細については、「 KINTERRUPT_POLARITY」を参照してください。

PullConfiguration

この GPIO ピンをプルするか、プルダウンするか。 このメンバーは、通常、次のシステム定義定数のいずれかに設定されます。

  • GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT

  • GPIO_PIN_PULL_CONFIGURATION_PULLUP

  • GPIO_PIN_PULL_CONFIGURATION_PULLDOWN

  • GPIO_PIN_PULL_CONFIGURATION_PULLNONE

これらの定数のいずれもピン構成を適切に記述しない場合は、このメンバーを 128 から 255 の範囲のベンダー定義の定数に設定できます。 これらの定数の詳細については、「 GPIO_PIN_PULL_CONFIGURATION」を参照してください。

DebounceTimeout

デバウンス時間 (10 マイクロ秒単位)。 たとえば、5.84 ミリ秒のデバウンス時間は 584 として指定されます。 デバウンス時間は、低から高への遷移の開始後、または高から低への遷移の開始後の低レベルで、入力信号が高レベルで安定するために必要な時間です。 たとえば、機械的スイッチによって割り込み信号が生成された場合、デバウンス時間はスイッチのオン/オフ後にスイッチ内の金属接触がバウンスを停止するために必要な時間です。

VendorData

この GPIO ピンのベンダー定義データを含む呼び出し元によって割り当てられたバッファーへのポインター。 このメンバーは省略可能であり、ベンダー定義データが使用できない場合は NULL に設定されます。 ベンダー定義データの詳細については、ACPI 5.0 仕様GPIO 接続記述子の説明を参照してください。

VendorDataLength

VendorData メンバーが指すデータ バッファーのサイズ (バイト単位)。

注釈

CLIENT_EnableInterruptおよびCLIENT_UnmaskInterruptイベント コールバック関数では、GPIO_ENABLE_INTERRUPT_PARAMETERS構造体を使用して GPIO ピンを指定し、このピンの割り込み属性を記述します。

GPIO_PIN_PULL_CONFIGURATION_XXX 定数は、汎用 I/O (GPIO) ピンをプルアップするかプルダウンするかを指定します。

#define GPIO_PIN_PULL_CONFIGURATION_DEFAULT (0x0)
#define GPIO_PIN_PULL_CONFIGURATION_PULLUP (0x1)
#define GPIO_PIN_PULL_CONFIGURATION_PULLDOWN (0x2)
#define GPIO_PIN_PULL_CONFIGURATION_NONE (0x3)

GPIO_ENABLE_INTERRUPT_PARAMETERS構造体の PullConfiguration メンバーは、GPIO_PIN_PULL_CONFIGURATION_XXX 定数に設定されます。

システム定義 のGPIO_PIN_PULL_CONFIGURATION_XXX 定数のいずれにもピン構成が適切に記述されていない場合は、このメンバーを 128 から 255 の範囲のベンダー定義定数に設定できます。

要件

要件
サポートされている最小のクライアント Windows 8 以降でサポートされています。
Header gpioclx.h

こちらもご覧ください

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY