GPIO_ENABLE_INTERRUPT_PARAMETERS Struktur (gpioclx.h)
Die GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur gibt einen allgemeinen I/O-Pin (GPIO) an und beschreibt die Interruptattribute dieses Pins.
Syntax
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;
Angehörige
BankId
Der Bezeichner für die Bank, die den GPIO-Pin enthält. Wenn M die Anzahl der Banken im GPIO-Controller ist, ist BankId eine ganze Zahl im Bereich von 0 bis M-1. Die GPIO-Framework-Erweiterung (GpioClx) hat zuvor die Anzahl der Banken im Controller aus der CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion abgerufen. Weitere Informationen finden Sie in den Hinweisen in CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumber
Die bankrelative Pinnummer. Wenn N die Nummer in dieser Bank ist, ist PinNumber eine ganze Zahl im Bereich von 0 bis N bis 1. GpioClx hat zuvor die Anzahl der Pins in jeder Bank aus der CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion erhalten. Weitere Informationen finden Sie in der Beschreibung des NumberOfPinsPerBank- Mitglieds in CLIENT_CONTROLLER_BASIC_INFORMATION.
Flags
Eine Reihe von Flags, die die Konfiguration der GPIO-Pins steuern. Für dieses Element sind derzeit keine Flags definiert.
InterruptMode
Gibt an, ob die Interruptanforderung von diesem GPIO-Pin level-sensitive oder edge-triggered ist. Dieses Element ist auf einen der folgenden Werte festgelegt:
LevelSensitive-
Weitere Informationen finden Sie unter KINTERRUPT_MODE.
Polarity
Gibt an, ob die Unterbrechungslinie von diesem GPIO-Pin aktiv hoch oder aktiv niedrig ist. Dieses Element ist auf einen der folgenden Werte festgelegt:
InterruptActiveHigh-
InterruptRisingEdge
InterruptActiveLow-
InterruptFallingEdge
InterruptActiveBoth-
Weitere Informationen finden Sie unter KINTERRUPT_POLARITY.
PullConfiguration
Gibt an, ob dieser GPIO-Pin nach oben gezogen oder nach unten gezogen wird. Dieses Element wird in der Regel auf eine der folgenden vom System definierten Konstanten festgelegt:
GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
GPIO_PIN_PULL_CONFIGURATION_PULLUP
GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
GPIO_PIN_PULL_CONFIGURATION_PULLNONE
Wenn keine dieser Konstanten die Pinkonfiguration entsprechend beschreibt, kann dieses Element auf eine vom Anbieter definierte Konstante im Bereich 128-255 festgelegt werden. Weitere Informationen zu diesen Konstanten finden Sie unter GPIO_PIN_PULL_CONFIGURATION.
DebounceTimeout
Die Entprenzezeit in Einheiten von 10 Mikrosekunden. Beispielsweise wird eine Entprenkzeit von 5,84 Millisekunden als 584 angegeben. Die Entprellzeit ist die Zeit, die für ein Eingangssignal erforderlich ist, um nach Beginn eines Übergangs mit niedriger bis hoher Ebene oder auf einem niedrigen Niveau nach Beginn eines Hoch-zu-Tief-Übergangs zu stabilisieren. Wenn z. B. ein Unterbrechungssignal durch einen mechanischen Schalter erzeugt wird, ist die Entprallzeit die Zeit, die für den Metallkontakt im Schalter erforderlich ist, um das Springen zu beenden, nachdem der Schalter eingeschaltet oder ausgeschaltet wurde.
VendorData
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der vom Anbieter definierte Daten für diesen GPIO-Pin enthält. Dieses Element ist optional und wird auf NULL festgelegt, wenn keine vom Anbieter definierten Daten verfügbar sind. Weitere Informationen zu vom Anbieter definierten Daten finden Sie in der Beschreibung der GPIO-Verbindungsbeschreibung in der ACPI 5.0-Spezifikation.
VendorDataLength
Die Größe des Datenpuffers in Byte, auf den das VendorData Member verweist.
Bemerkungen
Die CLIENT_EnableInterrupt- und CLIENT_UnmaskInterrupt-Ereignisrückruffunktionen verwenden eine GPIO_ENABLE_INTERRUPT_PARAMETERS Struktur, um einen GPIO-Pin anzugeben und die Interruptattribute dieses Pins zu beschreiben.
Die GPIO_PIN_PULL_CONFIGURATION_XXX- Konstanten geben an, ob ein allgemeiner I/O-Pin (GPIO) nach oben oder nach unten gezogen wird.
#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)
Das PullConfiguration Member der GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur wird auf eine GPIO_PIN_PULL_CONFIGURATION_XXX- Konstante festgelegt.
Wenn keine der vom System definierten GPIO_PIN_PULL_CONFIGURATION_XXX- Konstanten die Pinkonfiguration entsprechend beschreibt, kann dieses Element auf eine vom Anbieter definierte Konstante im Bereich 128 bis 255 festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Wird ab Windows 8 unterstützt. |
Header- | gpioclx.h |
Siehe auch
CLIENT_CONTROLLER_BASIC_INFORMATION