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