GPIO_ENABLE_INTERRUPT_PARAMETERS structure (gpioclx.h)

La structure GPIO_ENABLE_INTERRUPT_PARAMETERS spécifie une broche d’E/S à usage général (GPIO) et décrit les attributs d’interruption de cette broche.

Syntaxe

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;

Membres

BankId

Identificateur de la banque qui contient la broche GPIO. Si M est le nombre de banques dans le contrôleur GPIO, BankId est un entier compris entre 0 et M et 1. L’extension d’infrastructure GPIO (GpioClx) a précédemment obtenu le nombre de banques dans le contrôleur à partir de la fonction de rappel d’événement CLIENT_QueryControllerBasicInformation . Pour plus d’informations, consultez Remarques dans CLIENT_CONTROLLER_BASIC_INFORMATION.

PinNumber

Numéro d’épingle relatif à la banque. Si N est le nombre de broches de cette banque, PinNumber est un entier compris entre 0 et N et 1. GpioClx a précédemment obtenu le nombre de broches dans chaque banque à partir de la fonction de rappel d’événement CLIENT_QueryControllerBasicInformation . Pour plus d’informations, consultez la description du membre NumberOfPinsPerBank dans CLIENT_CONTROLLER_BASIC_INFORMATION.

Flags

Ensemble d’indicateurs qui contrôlent la configuration des broches GPIO. Aucun indicateur n’est actuellement défini pour ce membre.

InterruptMode

Indique si la demande d’interruption de cette broche GPIO est sensible au niveau ou déclenchée sur le bord. Ce membre est défini sur l’une des valeurs suivantes :

  • LevelSensitive

  • Verrouillée

Pour plus d’informations, consultez KINTERRUPT_MODE.

Polarity

Indique si la ligne d’interruption de cette broche GPIO est active-high ou active-low. Ce membre est défini sur l’une des valeurs suivantes :

  • InterruptActiveHigh

  • InterruptRisingEdge

  • InterruptActiveLow

  • InterruptFallingEdge

  • InterruptActiveBoth

Pour plus d’informations, consultez KINTERRUPT_POLARITY.

PullConfiguration

Indique si cette broche GPIO est tirée vers le haut ou vers le bas. Ce membre est généralement défini sur l’une des constantes définies par le système suivantes :

  • GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT

  • GPIO_PIN_PULL_CONFIGURATION_PULLUP

  • GPIO_PIN_PULL_CONFIGURATION_PULLDOWN

  • GPIO_PIN_PULL_CONFIGURATION_PULLNONE

Si aucune de ces constantes ne décrit correctement la configuration de la broche, ce membre peut être défini sur une constante définie par le fournisseur dans la plage 128-255. Pour plus d’informations sur ces constantes, consultez GPIO_PIN_PULL_CONFIGURATION.

DebounceTimeout

Temps debounce en unités de 10 microsecondes. Par exemple, un temps debounce de 5,84 millisecondes est spécifié comme 584. Le temps debounce est le temps nécessaire pour qu’un signal d’entrée se stabilise à un niveau élevé après le début d’une transition de faible à élevé, ou à un niveau faible après le début d’une transition haut-bas. Par exemple, si un signal d’interruption est généré par un commutateur mécanique, la durée d’arrêt est le temps nécessaire pour que le contact métallique dans le commutateur cesse de rebondir après l’activation ou la désactivation du commutateur.

VendorData

Pointeur vers une mémoire tampon allouée à l’appelant qui contient des données définies par le fournisseur pour cette broche GPIO. Ce membre est facultatif et est défini sur NULL si aucune donnée définie par le fournisseur n’est disponible. Pour plus d’informations sur les données définies par le fournisseur, consultez la description du descripteur de connexion GPIO dans la spécification ACPI 5.0.

VendorDataLength

Taille, en octets, de la mémoire tampon de données pointée par le membre VendorData .

Remarques

Les fonctions de rappel d’événement CLIENT_EnableInterrupt et CLIENT_UnmaskInterrupt utilisent une structure GPIO_ENABLE_INTERRUPT_PARAMETERS pour spécifier une broche GPIO et décrire les attributs d’interruption de cette broche.

Les constantes GPIO_PIN_PULL_CONFIGURATION_XXX spécifient si une broche d’E/S à usage général (GPIO) est tirée vers le haut ou vers le bas.

#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)

Le membre PullConfiguration de la structure GPIO_ENABLE_INTERRUPT_PARAMETERS est défini sur une constante GPIO_PIN_PULL_CONFIGURATION_XXX .

Si aucune des constantes GPIO_PIN_PULL_CONFIGURATION_XXX définies par le système ne décrit correctement la configuration de la broche, ce membre peut être défini sur une constante définie par le fournisseur dans la plage de 128 à 255.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 8.
En-tête gpioclx.h

Voir aussi

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY