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