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_INFORMATIONの NumberOfPinsPerBank メンバーの説明を参照してください。
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