Compartir a través de


Guía de diseño del controlador de E/S de General-Purpose (GPIO)

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 selecciones 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 compatibilidad con controladores para dispositivos periféricos que se conectan a patillas GPIO. GpioClx, que es una extensión proporcionada por el sistema al marco de controladores en modo kernel (KMDF), realiza tareas de procesamiento comunes a los miembros de la clase de dispositivo GPIO.

Interfaces de E/S e interrupción de GpioClx

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

Recursos de hardware basados en GPIO

A partir de Windows 8, las patillas de E/S de uso general (GPIO) controladas por un controlador gpIO están disponibles para otros controladores como recursos de hardware administrados por el sistema. Los pines 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, las patillas de interrupción gpIO, que son patillas configuradas como entradas de solicitud de interrupción, están disponibles como recursos de interrupción normales de Windows.

Interrupciones de GPIO

Algunos dispositivos de controlador de E/S de uso general (GPIO) pueden configurar sus patillas GPIO para que funcionen como entradas de solicitud de interrupción. Estas entradas de solicitud de interrupción se controlan mediante dispositivos periféricos que están conectados físicamente a los patillas GPIO. Los controladores de estos controladores GPIO pueden habilitar, deshabilitar, enmascarar, desenmascarar y borrar solicitudes de interrupción en patillas GPIO individuales.

GpioClx DDI

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