Controladores de E/S de uso geral (GPIO)
O driver de controlador gpio (E/S) de uso geral se comunica com a extensão de estrutura GPIO (GpioClx) por meio da DDI (interface gpioClx device-driver). Essa DDI é definida no arquivo de cabeçalho Gpioclx.h e é descrita nesta seção. Como parte dessa DDI, o GpioClx implementa vários métodos de suporte ao driver, que são chamados pelo driver do controlador GPIO. Esse driver implementa um conjunto de funções de retorno de chamada de evento, que são chamadas por GpioClx. O GpioClx usa esses retornos de chamada para gerenciar solicitações de interrupção de pinos GPIO configurados como entradas de interrupção e para transferir dados de ou para pinos GPIO configurados como entradas e saídas de dados.
Para obter informações conceituais sobre como escrever drivers de cliente GPIOClx, consulte Guia de Design de Driver de E/S de Uso Geral (GPIO)
IOCTLs
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION O código de controle de E/S IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION permite que um cliente do controlador de E/S de uso geral (GPIO) solicite uma operação de controle de dispositivo específica do controlador. |
IOCTL_GPIO_READ_PINS O código de controle de E/S IOCTL_GPIO_READ_PINS permite que um cliente do controlador de E/S de uso geral (GPIO) leia de um conjunto de pinos GPIO configurados como entradas. |
IOCTL_GPIO_WRITE_PINS O código de controle de E/S IOCTL_GPIO_WRITE_PINS permite que um cliente do controlador de E/S de uso geral (GPIO) escreva em um conjunto de pinos GPIO configurados como saídas. |
Enumerações
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE O tipo de enumeração CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE indica que tipo de informações de atributo a extensão da estrutura GPIO (GpioClx) está solicitando do driver do controlador GPIO. |
GPIO_CONNECT_IO_PINS_MODE A enumeração GPIO_CONNECT_IO_PINS_MODE indica se um conjunto de pinos de E/S de uso geral (GPIO) está configurado como entradas ou saídas. |
Funções
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS A função de retorno de chamada de evento CLIENT_ClearActiveInterrupts limpa interrupções ativas em um conjunto de pinos de E/S de uso geral (GPIO) configurados como entradas de interrupção. |
GPIO_CLIENT_CONNECT_IO_PINS A função de retorno de chamada de evento CLIENT_ConnectIoPins abre uma conexão lógica com um conjunto de pinos de E/S de uso geral (GPIO) e configura esses pinos para operações de leitura ou gravação de dados. |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION A função de retorno de chamada de evento CLIENT_ControllerSpecificFunction executa uma operação específica para um controlador de E/S de uso geral específico (GPIO). |
GPIO_CLIENT_DISABLE_INTERRUPT A função de retorno de chamada de evento CLIENT_DisableInterrupt desabilita interrupções em um pin de E/S de uso geral (GPIO) configurado como uma entrada de interrupção. |
GPIO_CLIENT_DISCONNECT_IO_PINS A função de retorno de chamada de evento CLIENT_DisconnectIoPins fecha uma conexão lógica com um conjunto de pinos de E/S de uso geral (GPIO) configurados para operações de leitura ou gravação de dados. |
GPIO_CLIENT_ENABLE_INTERRUPT A função de retorno de chamada de evento CLIENT_EnableInterrupt permite interrupções em um pin de E/S de uso geral (GPIO) configurado como uma entrada de interrupção. |
GPIO_CLIENT_MASK_INTERRUPTS A função de retorno de chamada de evento CLIENT_MaskInterrupts mascara interrupções em um conjunto de pinos de E/S de uso geral (GPIO) configurados como entradas de interrupção. |
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT A função de retorno de chamada de evento CLIENT_PreProcessControllerInterrupt executa qualquer pré-processamento de uma interrupção de E/S de uso geral (GPIO) que deve ser feita imediatamente se o ISR estiver agendado para ser executado posteriormente. |
GPIO_CLIENT_PREPARE_CONTROLLER A função de retorno de chamada de evento CLIENT_PrepareController executa todas as operações necessárias para tornar o controlador de E/S de uso geral (GPIO) pronto para ser acessado pelo driver do controlador GPIO. |
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS A função de retorno de chamada de evento CLIENT_QueryActiveInterrupts consulta o estado de um conjunto de pinos de E/S de uso geral (GPIO) configurados como entradas de interrupção. |
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION A função de retorno de chamada de evento CLIENT_QueryControllerBasicInformation recupera os atributos de hardware do controlador de E/S de uso geral (GPIO). |
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS A função de retorno de chamada de evento CLIENT_QueryEnabledInterrupts consulta o estado de um conjunto de pinos de E/S de uso geral (GPIO) para determinar quais pinos estão configurados como entradas de interrupção e habilitados para interrupções. |
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION A função de retorno de chamada de evento CLIENT_QuerySetControllerInformation consulta o driver de controlador de E/S de uso geral (GPIO) para o conjunto especificado de atributos do controlador GPIO. |
GPIO_CLIENT_READ_PINS A função de retorno de chamada de evento CLIENT_ReadGpioPins lê um conjunto de pinos de E/S de uso geral (GPIO) configurados como entradas de dados. |
GPIO_CLIENT_READ_PINS_MASK A função de retorno de chamada de evento CLIENT_ReadGpioPinsUsingMask lê um banco de pinos de E/S de uso geral (GPIO). |
GPIO_CLIENT_RECONFIGURE_INTERRUPT A função de retorno de chamada de evento CLIENT_ReconfigureInterrupt reconfigura um pin de E/S de uso geral (GPIO) usado como uma entrada de interrupção. |
GPIO_CLIENT_RELEASE_CONTROLLER A função de retorno de chamada de evento CLIENT_ReleaseController executa operações que são necessárias quando o dispositivo controlador de E/S de uso geral (GPIO) não está mais acessível. |
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT A função de retorno de chamada de evento CLIENT_RestoreBankHardwareContext restaura o contexto de hardware de um banco de pinos de E/S de uso geral (GPIO). |
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT A função de retorno de chamada de evento CLIENT_SaveBankHardwareContext salva o contexto de hardware de um banco de pinos de E/S de uso geral (GPIO). |
GPIO_CLIENT_START_CONTROLLER A função de retorno de chamada de evento CLIENT_StartController executa operações que são necessárias quando o dispositivo controlador de E/S de uso geral (GPIO) entra no estado de energia D0. |
GPIO_CLIENT_STOP_CONTROLLER A função de retorno de chamada de evento CLIENT_StopController executa operações necessárias para preparar o dispositivo controlador de E/S de uso geral (GPIO) para sair do estado de energia D0. |
GPIO_CLIENT_UNMASK_INTERRUPT A função de retorno de chamada de evento CLIENT_UnmaskInterrupt desmascara a interrupção em um pin de E/S de uso geral (GPIO) configurado como uma entrada de interrupção. |
GPIO_CLIENT_WRITE_PINS A função de retorno de chamada de evento CLIENT_WriteGpioPins grava em um conjunto de pinos de E/S de uso geral (GPIO) configurados como saídas de dados. |
GPIO_CLIENT_WRITE_PINS_MASK A função de retorno de chamada de evento CLIENT_WriteGpioPinsUsingMask grava em um conjunto de pinos de E/S de uso geral (GPIO) configurados como saídas de dados. |
GPIO_CLX_AcquireInterruptLock O método GPIO_CLX_AcquireInterruptLock adquire um bloqueio de interrupção em um banco de pinos no controlador de E/S de uso geral (GPIO). |
GPIO_CLX_ProcessAddDevicePostDeviceCreate O método GPIO_CLX_ProcessAddDevicePostDeviceCreate passa um objeto de dispositivo de estrutura para a extensão de estrutura GPIO (GpioClx). |
GPIO_CLX_ProcessAddDevicePreDeviceCreate O método GPIO_CLX_ProcessAddDevicePreDeviceCreate carrega informações de inicialização em duas estruturas que são passadas como parâmetros de entrada para o método WdfDeviceCreate. |
GPIO_CLX_RegisterClient O método GPIO_CLX_RegisterClient registra um driver de controlador gpio (E/S de uso geral) como um cliente da gpioclx (extensão de estrutura GPIO). |
GPIO_CLX_ReleaseInterruptLock O método GPIO_CLX_ReleaseInterruptLock libera um bloqueio de interrupção no banco especificado. |
GPIO_CLX_UnregisterClient O método GPIO_CLX_UnregisterClient remove o registro de um driver de controlador gpio (E/S) de uso geral com a extensão de estrutura GPIO (GpioClx). |
Estruturas
CLIENT_CONTROLLER_BASIC_INFORMATION A estrutura CLIENT_CONTROLLER_BASIC_INFORMATION contém atributos de hardware e informações de configuração de gpio (E/S) de uso geral. |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT A estrutura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT contém uma solicitação para os atributos de hardware do controlador de E/S de uso geral (GPIO). |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT A estrutura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT contém um conjunto de atributos de controlador gpio (E/S de uso geral) que foram solicitados pela extensão da estrutura GPIO (GpioClx). |
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT A estrutura CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT contém informações sobre os recursos de gerenciamento de energia de um banco de pinos de E/S de uso geral (GPIO). |
CONTROLLER_ATTRIBUTE_FLAGS A estrutura CONTROLLER_ATTRIBUTE_FLAGS descreve os atributos de hardware do dispositivo de controlador GPIO (E/S de uso geral). |
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS A estrutura GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS descreve um conjunto de pinos de interrupção de E/S de uso geral (GPIO) para limpar. |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS A estrutura GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS descreve os buffers de entrada e saída para uma operação específica do controlador. |
GPIO_CLIENT_REGISTRATION_PACKET A estrutura GPIO_CLIENT_REGISTRATION_PACKET contém informações de registro que o driver de controlador gpio (E/S de uso geral) passa para a extensão da estrutura GPIO (GpioClx). |
GPIO_CONNECT_IO_PINS_PARAMETERS A estrutura GPIO_CONNECT_IO_PINS_PARAMETERS descreve uma conexão lógica com um conjunto de pinos de E/S de uso geral (GPIO) e especifica se esses pinos devem ser configurados como entradas ou saídas de dados. |
GPIO_DISABLE_INTERRUPT_PARAMETERS A estrutura GPIO_DISABLE_INTERRUPT_PARAMETERS descreve um pino de interrupção de E/S (GPIO) de uso geral para desabilitar. |
GPIO_DISCONNECT_IO_PINS_PARAMETERS A estrutura GPIO_DISCONNECT_IO_PINS_PARAMETERS descreve um conjunto de pinos de E/S de uso geral (GPIO) que devem ser desconectados. |
GPIO_ENABLE_INTERRUPT_PARAMETERS A estrutura GPIO_ENABLE_INTERRUPT_PARAMETERS especifica um pino de E/S de uso geral (GPIO) e descreve os atributos de interrupção desse pino. |
GPIO_MASK_INTERRUPT_PARAMETERS A estrutura GPIO_MASK_INTERRUPT_PARAMETERS descreve um conjunto de pinos de interrupção de E/S de uso geral (GPIO) para mascarar. |
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS A estrutura GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS descreve um conjunto de pinos de interrupção de E/S de uso geral (GPIO) para consultar seus estados habilitados e ativos. |
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS A estrutura GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS indica quais pinos de interrupção em um banco de pinos de E/S de uso geral (GPIO) estão habilitados. |
GPIO_READ_PINS_MASK_PARAMETERS A estrutura GPIO_READ_PINS_MASK_PARAMETERS descreve uma operação de leitura em um banco de pinos de E/S de uso geral (GPIO). |
GPIO_READ_PINS_PARAMETERS A estrutura GPIO_READ_PINS_PARAMETERS descreve uma operação de leitura em um grupo de pinos de E/S de uso geral (GPIO). |
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS A estrutura GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS descreve o pino de interrupção de E/S (GPIO) de uso geral para reconfigurar. |
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS A estrutura GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS descreve um banco de pinos de E/S de uso geral (GPIO) cujo estado de hardware deve ser salvo ou restaurado. |
GPIO_WRITE_PINS_MASK_PARAMETERS A estrutura GPIO_WRITE_PINS_MASK_PARAMETERS descreve uma operação de gravação em um banco de pinos de E/S de uso geral (GPIO). |
GPIO_WRITE_PINS_PARAMETERS A estrutura GPIO_WRITE_PINS_PARAMETERS descreve uma operação de gravação em um grupo de pinos de E/S de uso geral (GPIO). |