estrutura GPIO_ENABLE_INTERRUPT_PARAMETERS (gpioclx.h)
A estrutura GPIO_ENABLE_INTERRUPT_PARAMETERS especifica um pino de GPIO (E/S de uso geral) e descreve os atributos de interrupção desse pino.
Sintaxe
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;
Membros
BankId
O identificador do banco que contém o pino GPIO. Se M for o número de bancos no controlador GPIO, BankId será um inteiro no intervalo de 0 a M-1. A gpioClx (extensão de estrutura gpio) obteve anteriormente o número de bancos no controlador da função de retorno de chamada de evento CLIENT_QueryControllerBasicInformation . Para obter mais informações, consulte Comentários em CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumber
O número do pino relativo ao banco. Se N for o número de pinos neste banco, PinNumber será um inteiro no intervalo de 0 a N–1. O GpioClx obteve anteriormente o número de pinos em cada banco da função de retorno de chamada de evento CLIENT_QueryControllerBasicInformation . Para obter mais informações, consulte a descrição do membro NumberOfPinsPerBank no CLIENT_CONTROLLER_BASIC_INFORMATION.
Flags
Um conjunto de sinalizadores que controlam a configuração dos pinos gpio. Nenhum sinalizador está definido no momento para esse membro.
InterruptMode
Se a solicitação de interrupção desse pino GPIO é sensível ao nível ou disparada por borda. Esse membro é definido como um dos seguintes valores:
LevelSensitive
Trancado
Para obter mais informações, consulte KINTERRUPT_MODE.
Polarity
Se a linha de interrupção desse pino GPIO é ativa-alta ou ativa-baixa. Esse membro é definido como um dos seguintes valores:
InterruptActiveHigh
InterruptRisingEdge
InterruptActiveLow
InterruptFallingEdge
InterruptActiveBoth
Para obter mais informações, consulte KINTERRUPT_POLARITY.
PullConfiguration
Se esse pino gpio é puxado para cima ou puxado para baixo. Esse membro normalmente é definido como uma das seguintes constantes definidas pelo sistema:
GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
GPIO_PIN_PULL_CONFIGURATION_PULLUP
GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
GPIO_PIN_PULL_CONFIGURATION_PULLNONE
Se nenhuma dessas constantes descrever adequadamente a configuração do pino, esse membro poderá ser definido como uma constante definida pelo fornecedor no intervalo de 128 a 255. Para obter mais informações sobre essas constantes, consulte GPIO_PIN_PULL_CONFIGURATION.
DebounceTimeout
O tempo de debounce em unidades de 10 microssegundos. Por exemplo, um tempo de debounce de 5,84 milissegundos é especificado como 584. O tempo de debounce é o tempo necessário para que um sinal de entrada se estabilize em um alto nível após o início de uma transição de baixo para alto ou em um nível baixo após o início de uma transição de alto para baixo. Por exemplo, se um sinal de interrupção for gerado por um comutador mecânico, o tempo de debounce será o tempo necessário para que o contato de metal no comutador pare de saltar depois que a opção estiver ativada ou desativada.
VendorData
Um ponteiro para um buffer alocado pelo chamador que contém dados definidos pelo fornecedor para esse pino GPIO. Esse membro é opcional e será definido como NULL se nenhum dado definido pelo fornecedor estiver disponível. Para obter mais informações sobre dados definidos pelo fornecedor, consulte a descrição do descritor de conexão GPIO na especificação ACPI 5.0.
VendorDataLength
O tamanho, em bytes, do buffer de dados apontado pelo membro VendorData .
Comentários
As funções de retorno de chamada de evento CLIENT_EnableInterrupt e CLIENT_UnmaskInterrupt usam uma estrutura GPIO_ENABLE_INTERRUPT_PARAMETERS para especificar um pino GPIO e descrever os atributos de interrupção desse pino.
As constantes GPIO_PIN_PULL_CONFIGURATION_XXX especificam se um pino de GPIO (E/S de uso geral) é puxado para cima ou puxado para baixo.
#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)
O membro PullConfiguration da estrutura GPIO_ENABLE_INTERRUPT_PARAMETERS é definido como uma constante GPIO_PIN_PULL_CONFIGURATION_XXX .
Se nenhuma das constantes GPIO_PIN_PULL_CONFIGURATION_XXX definidas pelo sistema descrever adequadamente a configuração do pino, esse membro poderá ser definido como uma constante definida pelo fornecedor no intervalo de 128 a 255.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte a partir do Windows 8. |
Cabeçalho | gpioclx.h |
Confira também
CLIENT_CONTROLLER_BASIC_INFORMATION