次の方法で共有


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 以降でサポートされています。
ヘッダー gpioclx.h

関連項目

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY