Partilhar via


Guia de Conceção de Controladores de I/O (GPIO) General-Purpose

Esta seção descreve como escrever um driver para um dispositivo controlador de E/S (GPIO) de uso geral. Um controlador GPIO configura pinos GPIO para executar operações de E/S de dados de baixa velocidade, para agir como seleção de dispositivo e para receber solicitações de interrupção. A partir do Windows 8, a extensão de estrutura GPIO (GpioClx) simplifica a tarefa de escrever um driver para um controlador GPIO. Além disso, o GpioClx fornece uma interface de solicitação de E/S uniforme para drivers de dispositivos periféricos que se comunicam com dispositivos que se conectam a pinos GPIO em um controlador.

Nesta secção

Tópico Descrição

Visão geral do suporte do driver de GPIO

A partir do Windows 8, a extensão de estrutura GPIO (GpioClx) simplifica a tarefa de escrever um driver para um dispositivo controlador GPIO. Além disso, GpioClx fornece suporte de driver para dispositivos periféricos que se conectam a pinos GPIO. O GpioClx, uma extensão fornecida pelo sistema para o framework de driver em modo kernel (KMDF), realiza tarefas de processamento comuns aos membros da classe de dispositivos GPIO.

Interfaces de E/S e interrupção do GpioClx

Normalmente, os utentes de um controlador GPIO são controladores para dispositivos periféricos que se conectam a pinos GPIO. Esses drivers usam pinos GPIO como canais de dados de baixa largura de banda, saídas de seleção de dispositivo e entradas de solicitação de interrupção. Os drivers de dispositivo periféricos abrem conexões lógicas com pinos GPIO que são configurados como entradas ou saídas de dados. Eles usam essas conexões para enviar solicitações de E/S para esses pinos. Além disso, os drivers de dispositivos periféricos podem conectar logicamente as suas rotinas de serviço de interrupção a pinos GPIO configurados como entradas de pedido de interrupção.

Recursos de hardwareGPIO-Based

A partir do Windows 8, os pinos de E/S de uso geral (GPIO) controlados por um driver de controlador GPIO estão disponíveis para outros drivers como recursos de hardware gerenciados pelo sistema. Os pinos de E/S GPIO, que são pinos configurados como entradas ou saídas de dados, estão disponíveis como um novo tipo de recurso do Windows, recursos de E/S GPIO. Além disso, os pinos de interrupção GPIO, que são pinos configurados como entradas de solicitação de interrupção, estão disponíveis como recursos de interrupção comuns do Windows.

Interrupções GPIO

Alguns dispositivos de controlador de E/S (GPIO) de uso geral podem configurar seus pinos GPIO para funcionar como entradas de solicitação de interrupção. Essas entradas de solicitação de interrupção são acionadas por dispositivos periféricos que estão fisicamente conectados aos pinos GPIO. Os drivers para esses controladores GPIO podem ativar, desabilitar, mascarar, desmascarar e limpar solicitações de interrupção em pinos GPIO individuais.

GpioClx DDI

O driver do controlador de E/S (GPIO) de uso geral comunica-se com a extensão do framework GPIO (GpioClx) através da interface de driver de dispositivos (DDI) do GpioClx. Este DDI é definido no arquivo de cabeçalho Gpioclx.h e é descrito em General-Purpose referência de driver de E/S (GPIO). Como parte deste DDI, o GpioClx implementa vários métodos de suporte de driver, que são chamados pelo driver do controlador GPIO. Este driver implementa um conjunto de funções de callback de evento, que são chamadas pelo 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.