GPIO_CONNECT_IO_PINS_PARAMETERS structure (gpioclx.h)
La structure GPIO_CONNECT_IO_PINS_PARAMETERS décrit une connexion logique à un ensemble de broches d’E/S à usage général (GPIO) et spécifie s’il faut configurer ces broches en tant qu’entrées ou sorties de données.
Syntaxe
typedef struct _GPIO_CONNECT_IO_PINS_PARAMETERS {
BANK_ID BankId;
PPIN_NUMBER PinNumberTable;
USHORT PinCount;
GPIO_CONNECT_IO_PINS_MODE ConnectMode;
UCHAR PullConfiguration;
USHORT DebounceTimeout;
USHORT DriveStrength;
PVOID VendorData;
ULONG VendorDataLength;
GPIO_CONNECT_IO_PINS_FLAGS ConnectFlags;
} GPIO_CONNECT_IO_PINS_PARAMETERS, *PGPIO_CONNECT_IO_PINS_PARAMETERS;
Membres
BankId
Identificateur de la banque qui contient les broches 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.
PinNumberTable
Pointeur vers un tableau de valeurs PIN_NUMBER. Chaque élément de tableau spécifie le nombre d’une broche GPIO à laquelle se connecter. Si N est le nombre de broches dans cette banque, les broches sont numérotées de 0 à N–1. Le nombre d’éléments dans ce tableau est spécifié par le membre PinCount .
PinCount
Nombre d’éléments dans le tableau PinNumberTable .
ConnectMode
Indique si les broches GPIO dans la nouvelle connexion doivent être configurées en tant qu’entrées ou en sorties. La valeur de ce paramètre est ConnectModeInput pour une connexion en lecture seule, ConnectModeOutput pour une connexion en écriture seule et (ConnectModeInput | ConnectModeOutput) pour une connexion en lecture/écriture. Pour plus d’informations, consultez GPIO_CONNECT_IO_PINS_MODE.
PullConfiguration
Indique si la broche GPIO est extraite 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
DebounceTimeout
Temps debounce en unités de 10 microsecondes. Par exemple, un temps debounce de 5,84 millisecondes est spécifié comme 584. Si un signal d’entrée est généré par un commutateur mécanique, le contact métallique dans le commutateur a tendance à rebondir pendant un bref moment après l’activation ou la désactivation du commutateur. Le temps debounce est la durée minimale pendant laquelle le niveau du signal d’entrée doit rester stable avant que le signal puisse être interprété comme un niveau élevé ou faible valide.
DriveStrength
Puissance d’entraînement de la broche GPIO en unités de 10 microampères. Par exemple, une puissance de lecteur de 1,21 milliampères est spécifiée sous la forme 121.
VendorData
Pointeur vers une mémoire tampon allouée à l’appelant qui contient des données spécifiques au fournisseur obtenues à partir du microprogramme ACPI pour la plateforme matérielle. Ces données sont copiées à partir du champ VendorData du descripteur de ressources GPIO qui décrit la connexion d’E/S de données entre le périphérique et un ensemble de broches GPIO sur le contrôleur GPIO. Ce membre est facultatif et est défini sur NULL si le microprogramme ne fournit pas de données spécifiques au fournisseur pour cette connexion.
VendorDataLength
Taille, en octets, de la mémoire tampon de données pointée par le membre VendorData . Si VendorData a la valeur NULL, VendorDataLength est défini sur zéro.
ConnectFlags
Ensemble d’indicateurs qui contrôlent la configuration des broches GPIO. Aucun indicateur n’est actuellement défini pour ce membre.
Remarques
Le paramètre ClientParameters de la routine de rappel d’événement CLIENT_ConnectIoPins est un pointeur vers une structure de GPIO_CONNECT_IO_PINS_PARAMETERS .
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