estructura GPIO_ENABLE_INTERRUPT_PARAMETERS (gpioclx.h)

La estructura GPIO_ENABLE_INTERRUPT_PARAMETERS especifica una patilla de E/S de uso general (GPIO) y describe los atributos de interrupción de este pin.

Sintaxis

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;

Miembros

BankId

Identificador del banco que contiene el pin GPIO. Si M es el número de bancos en el controlador GPIO, BankId es un entero del intervalo de 0 a M-1. La extensión del marco gpIO (GpioClx) obtuvo previamente el número de bancos en el controlador de la función de devolución de llamada de evento CLIENT_QueryControllerBasicInformation . Para obtener más información, vea Comentarios en CLIENT_CONTROLLER_BASIC_INFORMATION.

PinNumber

Número de pin relativo al banco. Si N es el número anclado en este banco, PinNumber es un entero del intervalo de 0 a N-1. GpioClx obtuvo previamente el número de patillas en cada banco de la función de devolución de llamada de evento CLIENT_QueryControllerBasicInformation . Para obtener más información, vea la descripción del miembro NumberOfPinsPerBank en CLIENT_CONTROLLER_BASIC_INFORMATION.

Flags

Conjunto de marcas que controlan la configuración de los patillas GPIO. Actualmente no hay marcas definidas para este miembro.

InterruptMode

Si la solicitud de interrupción de este pin gpIO distingue el nivel o se desencadena en el borde. Este miembro se establece en uno de los valores siguientes:

  • LevelSensitive

  • Trabado

Para obtener más información, consulte KINTERRUPT_MODE.

Polarity

Si la línea de interrupción de este pin GPIO es activa-alta o activa-baja. Este miembro se establece en uno de los valores siguientes:

  • InterruptActiveHigh

  • InterruptRisingEdge

  • InterruptActiveLow

  • InterruptFallingEdge

  • InterruptActiveBoth

Para obtener más información, consulte KINTERRUPT_POLARITY.

PullConfiguration

Indica si este pin gpIO se extrae o se tira hacia abajo. Este miembro se establece normalmente en una de las siguientes constantes definidas por el sistema:

  • GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT

  • GPIO_PIN_PULL_CONFIGURATION_PULLUP

  • GPIO_PIN_PULL_CONFIGURATION_PULLDOWN

  • GPIO_PIN_PULL_CONFIGURATION_PULLNONE

Si ninguna de estas constantes describe correctamente la configuración de patillas, este miembro se puede establecer en una constante definida por el proveedor en el intervalo 128-255. Para obtener más información sobre estas constantes, consulte GPIO_PIN_PULL_CONFIGURATION.

DebounceTimeout

Tiempo de espera en unidades de 10 microsegundos. Por ejemplo, una hora de desaplicación de 5,84 milisegundos se especifica como 584. El tiempo de espera es el tiempo necesario para que una señal de entrada se estabilice en un nivel alto después del inicio de una transición baja a alta, o en un nivel bajo después del inicio de una transición de alto a bajo. Por ejemplo, si un interruptor mecánico genera una señal de interrupción, el tiempo de espera es el tiempo necesario para que el contacto metálico del interruptor deje de rebotar después de que el interruptor esté activado o apagado.

VendorData

Puntero a un búfer asignado por el autor de la llamada que contiene datos definidos por el proveedor para este pin GPIO. Este miembro es opcional y se establece en NULL si no hay datos definidos por el proveedor disponibles. Para obtener más información sobre los datos definidos por el proveedor, vea la descripción del descriptor de conexión GPIO en la especificación ACPI 5.0.

VendorDataLength

Tamaño, en bytes, del búfer de datos al que apunta el miembro VendorData .

Comentarios

Las funciones de devolución de llamada de eventos CLIENT_EnableInterrupt y CLIENT_UnmaskInterrupt usan una estructura de GPIO_ENABLE_INTERRUPT_PARAMETERS para especificar un pin GPIO y describir los atributos de interrupción de este pin.

Las constantes GPIO_PIN_PULL_CONFIGURATION_XXX especifican si se extrae o se extrae una patilla de E/S de uso general (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)

El miembro PullConfiguration de la estructura GPIO_ENABLE_INTERRUPT_PARAMETERS se establece en una constante GPIO_PIN_PULL_CONFIGURATION_XXX .

Si ninguna de las constantes GPIO_PIN_PULL_CONFIGURATION_XXX definidas por el sistema describe correctamente la configuración de patillas, este miembro se puede establecer en una constante definida por el proveedor en el intervalo de 128 a 255.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite a partir de Windows 8.
Encabezado gpioclx.h

Consulte también

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY