struttura GPIO_ENABLE_INTERRUPT_PARAMETERS (gpioclx.h)
La struttura GPIO_ENABLE_INTERRUPT_PARAMETERS specifica un pin di I/O (GPIO) per utilizzo generico e descrive gli attributi di interrupt di questo pin.
Sintassi
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;
Members
BankId
Identificatore della banca che contiene il pin GPIO. Se M è il numero di banche nel controller GPIO, BankId è un numero intero compreso nell'intervallo da 0 a M-1. L'estensione del framework GPIO (GpioClx) ha ottenuto in precedenza il numero di banche nel controller dalla funzione di callback degli eventi CLIENT_QueryControllerBasicInformation . Per altre informazioni, vedere La sezione Osservazioni in CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumber
Numero di pin relativo alla banca. Se N è il numero pin in questa banca, PinNumber è un numero intero compreso nell'intervallo da 0 a N-1. GpioClx ha ottenuto in precedenza il numero di pin in ogni banca dalla funzione di callback dell'evento CLIENT_QueryControllerBasicInformation . Per altre informazioni, vedere la descrizione del membro NumberOfPinsPerBank in CLIENT_CONTROLLER_BASIC_INFORMATION.
Flags
Set di flag che controllano la configurazione dei pin GPIO. Nessun flag è attualmente definito per questo membro.
InterruptMode
Indica se la richiesta di interrupt da questo pin GPIO è sensibile al livello o attivata da edge. Questo membro è impostato su uno dei valori seguenti:
LevelSensitive
Bloccata
Per altre informazioni, vedere KINTERRUPT_MODE.
Polarity
Indica se la riga di interruzione da questo pin GPIO è attiva-alta o bassa attiva. Questo membro è impostato su uno dei valori seguenti:
InterruptActiveHigh
InterruptRisingEdge
InterruptActiveLow
InterruptFallingEdge
InterruptActiveBoth
Per altre informazioni, vedere KINTERRUPT_POLARITY.
PullConfiguration
Indica se questo pin GPIO viene trascinato verso l'alto o verso il basso. Questo membro viene in genere impostato su una delle costanti definite dal sistema seguenti:
GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
GPIO_PIN_PULL_CONFIGURATION_PULLUP
GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
GPIO_PIN_PULL_CONFIGURATION_PULLNONE
Se nessuna di queste costanti descrive in modo appropriato la configurazione del pin, questo membro può essere impostato su una costante definita dal fornitore nell'intervallo 128-255. Per altre informazioni su queste costanti, vedere GPIO_PIN_PULL_CONFIGURATION.
DebounceTimeout
Tempo di deounce in unità di 10 microsecondi. Ad esempio, un tempo di debounce di 5,84 millisecondi viene specificato come 584. Il tempo di debounce è il tempo necessario per stabilizzare un segnale di input a un livello elevato dopo l'inizio di una transizione bassa-alta o a un livello basso dopo l'inizio di una transizione alta a bassa. Ad esempio, se un segnale di interruzione viene generato da un interruttore meccanico, il tempo di debounce è il tempo necessario per il contatto metallico nel commutatore per arrestare l'rimbalzo dopo l'accensione o la disattivazione del commutatore.
VendorData
Puntatore a un buffer allocato dal chiamante che contiene dati definiti dal fornitore per questo pin GPIO. Questo membro è facoltativo ed è impostato su NULL se non sono disponibili dati definiti dal fornitore. Per altre informazioni sui dati definiti dal fornitore, vedere la descrizione del descrittore di connessione GPIO nella specifica ACPI 5.0.
VendorDataLength
Dimensioni, in byte, del buffer di dati a cui punta il membro VendorData .
Commenti
Le funzioni di callback degli eventi CLIENT_EnableInterrupt e CLIENT_UnmaskInterrupt usano una struttura di GPIO_ENABLE_INTERRUPT_PARAMETERS per specificare un pin GPIO e descrivere gli attributi di interrupt di questo pin.
Le costanti GPIO_PIN_PULL_CONFIGURATION_XXX specificano se un pin di I/O per utilizzo generico (GPIO) viene trascinato verso l'alto o verso il basso.
#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)
Il membro PullConfiguration della struttura GPIO_ENABLE_INTERRUPT_PARAMETERS è impostato su una costante GPIO_PIN_PULL_CONFIGURATION_XXX .
Se nessuna delle costanti GPIO_PIN_PULL_CONFIGURATION_XXX definite dal sistema descrive in modo appropriato la configurazione del pin, questo membro può essere impostato su una costante definita dal fornitore nell'intervallo da 128 a 255.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato a partire da Windows 8. |
Intestazione | gpioclx.h |
Vedi anche
CLIENT_CONTROLLER_BASIC_INFORMATION