GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur (gpioclx.h)
Die GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur gibt einen GPIO-Pin (General Purpose E/O) 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;
Member
BankId
Der Bezeichner für die Bank, die den GPIO-Pin enthält. Wenn M die Anzahl der Banken im GPIO-Controller ist, ist Die BankId eine ganze Zahl im Bereich von 0 bis M–1. Die GPIO-Frameworkerweiterung (GpioClx) hat zuvor die Anzahl der Banken im Controller aus der CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion abgerufen. Weitere Informationen finden Sie unter Hinweise in CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumber
Die bankrelative Pinnummer. Wenn N die Zahlennadeln in dieser Bank ist, ist PinNumber eine ganze Zahl im Bereich von 0 bis N–1. GpioClx hat zuvor die Anzahl der Pins in jeder Bank aus der CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion abgerufen. Weitere Informationen finden Sie in der Beschreibung des NumberOfPinsPerBank-Members in CLIENT_CONTROLLER_BASIC_INFORMATION.
Flags
Eine Gruppe 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 ebenensensibel oder edgetriggert ist. Dieser Member ist auf einen der folgenden Werte festgelegt:
LevelSensitive
Verriegelt
Weitere Informationen finden Sie unter KINTERRUPT_MODE.
Polarity
Gibt an, ob die Interruptlinie von diesem GPIO-Pin aktiv-hoch oder aktiv-niedrig ist. Dieser Member 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 oder nach unten gezogen wird. Dieser Member ist in der Regel auf eine der folgenden systemdefinierte 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 angemessen beschreibt, kann dieser Member auf eine vom Hersteller definierte Konstante im Bereich 128-255 festgelegt werden. Weitere Informationen zu diesen Konstanten finden Sie unter GPIO_PIN_PULL_CONFIGURATION.
DebounceTimeout
Die Debouncezeit in Einheiten von 10 Mikrosekunden. Beispielsweise wird eine Debouncezeit von 5,84 Millisekunden als 584 angegeben. Die Debouncezeit ist die Zeit, die benötigt wird, damit sich ein Eingangssignal nach dem Beginn eines Übergangs mit einem niedrigen zu einem hohen Niveau oder auf einem niedrigen Niveau nach dem Beginn eines Hoch-zu-Niedrig-Übergangs stabilisiert. Wenn beispielsweise ein Unterbrechungssignal durch einen mechanischen Schalter generiert wird, ist die Debouncezeit die Zeit, die benötigt wird, damit der Metallkontakt im Schalter das Springen beendet, nachdem der Schalter ein- oder ausgeschaltet ist.
VendorData
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der vom Anbieter definierte Daten für diesen GPIO-Pin enthält. Dieser Member ist optional und auf NULL festgelegt, wenn keine vom Hersteller definierten Daten verfügbar sind. Weitere Informationen zu vom Anbieter definierten Daten finden Sie in der Beschreibung des GPIO-Verbindungsdeskriptors in der ACPI 5.0-Spezifikation.
VendorDataLength
Die Größe des Datenpuffers in Bytes, auf die das VendorData-Element verweist.
Hinweise
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 GPIO-Pin (Universelle E/A) 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-Element der GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur ist auf eine GPIO_PIN_PULL_CONFIGURATION_XXX-Konstante festgelegt.
Wenn keine der vom System definierten GPIO_PIN_PULL_CONFIGURATION_XXX-Konstanten die Pinkonfiguration angemessen beschreibt, kann dieser Member auf eine vom Hersteller definierte Konstante im Bereich 128 bis 255 festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Wird ab Windows 8 unterstützt. |
Kopfzeile | gpioclx.h |
Weitere Informationen
CLIENT_CONTROLLER_BASIC_INFORMATION