Compartir a través de


Guía de diseño del controlador de I/O (GPIO) de uso general

En esta sección se describe cómo escribir un controlador para un dispositivo de controlador de E/S de uso general (GPIO). Un controlador GPIO configura patillas GPIO para realizar operaciones de E/S de datos de baja velocidad, para actuar como selección de dispositivo y para recibir solicitudes de interrupción. A partir de Windows 8, la extensión de marco GPIO (GpioClx) simplifica la tarea de escribir un controlador para un controlador GPIO. Además, GpioClx proporciona una interfaz uniforme de solicitud de E/S a controladores de dispositivos periféricos que se comunican con dispositivos que se conectan a patillas GPIO en un controlador.

En esta sección

Tema Descripción

Introducción a la compatibilidad con controladores GPIO

A partir de Windows 8, la extensión de marco GPIO (GpioClx) simplifica la tarea de escribir un controlador para un dispositivo de controlador GPIO. Además, GpioClx proporciona soporte de controladores para dispositivos periféricos que se conectan a pines GPIO. GpioClx, que es una extensión proporcionada por el sistema al marco de controladores en modo kernel (KMDF), realiza tareas de procesamiento que son comunes a los miembros de la clase de dispositivo GPIO.

E/S de GpioClx e interfaces de interrupciones

Normalmente, los clientes de un controlador GPIO son controladores para dispositivos periféricos que se conectan a pines GPIO. Estos controladores usan pines GPIO como canales de datos de ancho de banda bajo, salidas de selección de dispositivo y entradas de solicitud de interrupción. Los controladores de dispositivos periféricos abren conexiones lógicas a los pines GPIO configurados como entradas o salidas de datos. Usan estas conexiones para enviar solicitudes de E/S a estos pines. Además, los controladores de dispositivos periféricos pueden conectar lógicamente sus rutinas de servicio de interrupción a pines GPIO configurados como entradas de solicitud de interrupción.

GPIO-Based Recursos de Hardware

A partir de Windows 8, los pines de E/S de uso general (GPIO) controlados por un controlador GPIO están disponibles para otros controladores como recursos de hardware gestionados por el sistema. Los patillas de E/S de GPIO, que son patillas configuradas como entradas de datos o salidas de datos, están disponibles como un nuevo tipo de recurso de Windows, recursos de E/S de GPIO. Además, los pines de interrupción GPIO, que están configurados como entradas de solicitudes de interrupción, están disponibles como recursos comunes de interrupciones de Windows.

Interrupciones de GPIO

Algunos dispositivos controladores de E/S de propósito general (GPIO) pueden configurar sus pines GPIO para funcionar como entradas de petición de interrupción. Estas entradas de solicitud de interrupción están controladas por dispositivos periféricos que están conectados físicamente a las patillas GPIO. Los controladores para estos controladores GPIO pueden habilitar, deshabilitar, enmascarar, desenmascarar y borrar solicitudes de interrupción en pines GPIO individuales.

GpioClx DDI

El controlador de E/S de uso general (GPIO) se comunica con la infraestructura de GPIO (GpioClx) a través de la interfaz de controlador de dispositivo GpioClx (DDI). Esta DDI se define en el archivo de encabezado Gpioclx.h y se describe en General-Purpose referencia del controlador de E/S (GPIO). Como parte de esta DDI, GpioClx implementa varios métodos de soporte para controladores, a los que llama el controlador GPIO. Este controlador implementa un conjunto de funciones de devolución de llamada de eventos, a las que llama GpioClx. GpioClx usa estos callbacks para administrar las solicitudes de interrupción de las patillas GPIO configuradas como entradas de interrupción, y para transferir datos a o desde las patillas GPIO configuradas como entradas o salidas de datos.