Partager via


structure GPIO_ENABLE_INTERRUPT_PARAMETERS (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-1. L’extension de framework 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 la broche numérique de cette banque, PinNumber est un entier compris entre 0 et N-1. GpioClx a obtenu précédemment 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

Que la demande d’interruption de cette broche GPIO soit sensible au niveau ou déclenchée par la périphérie. Ce membre est défini sur l’une des valeurs suivantes :

  • LevelSensitive

  • latched

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 extraite ou extraite 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 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 de débounce en unités de 10 microsecondes. Par exemple, une durée de débounce de 5,84 millisecondes est spécifiée comme étant 584. Le temps de débounce 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 basse-à-haute, ou à un bas niveau après le début d’une transition haute à faible. Par exemple, si un signal d’interruption est généré par un commutateur mécanique, le temps de débounce 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 par l’appelant qui contient des données définies par le fournisseur pour cette broche GPIO. Ce membre est facultatif et a la valeur 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énements 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 extraite ou extraite 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 constanteXXX GPIO_PIN_PULL_CONFIGURATION_.

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

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge à partir de Windows 8.
d’en-tête gpioclx.h

Voir aussi

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY