Compartilhar via


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

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY