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