Freigeben über


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

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY