Поделиться через


Контроллеры ввода-вывода общего назначения (GPIO)

Чтобы разработать драйверы для портов GPIO, используйте следующие заголовки:

Обзор GPIO

Драйвер контроллера ввода-вывода общего назначения (GPIO) взаимодействует с расширением платформы GPIO (GpioClx) через интерфейс драйвера устройств GpioClx (DDI). Этот DDI определен в файле заголовка Gpioclx.h и описан в этом разделе. В рамках этого DDI GpioClx реализует несколько методов поддержки драйверов, которые вызываются драйвером контроллера GPIO. Этот драйвер реализует набор функций обратного вызова событий, которые вызываются GpioClx. GpioClx использует эти обратные вызовы для управления запросами прерываний из пин-кодов GPIO, настроенных как входные данные прерывания, а также для передачи данных в пин-коды GPIO или из них, настроенных как входные и выходные данные.

Общие сведения о написании драйверов клиентов GPIOClx см. в руководстве по проектированию драйверов General-Purpose ввода-вывода (GPIO)

IoCTLs

 
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION

Код управления IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION ввода-вывода позволяет клиенту контроллера ввода-вывода общего назначения (GPIO) запрашивать операцию управления устройствами для конкретного контроллера.
IOCTL_GPIO_READ_PINS

Код управления IOCTL_GPIO_READ_PINS ввода-вывода позволяет клиенту контроллера ввода-вывода общего назначения (GPIO) считывать из набора пин-кодов GPIO, настроенных в качестве входных данных.
IOCTL_GPIO_WRITE_PINS

Код управления IOCTL_GPIO_WRITE_PINS ввода-вывода позволяет клиенту контроллера ввода-вывода общего назначения (GPIO) записывать в набор контактов GPIO, настроенных в качестве выходных данных.

Перечисления

 
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE

Тип перечисления CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE указывает, какой тип сведений о атрибутах запрашивает расширение платформы GPIO (GpioClx) из драйвера контроллера GPIO.
GPIO_CONNECT_IO_PINS_MODE

Перечисление GPIO_CONNECT_IO_PINS_MODE указывает, настроен ли набор контактов ввода-вывода общего назначения (GPIO) в качестве входных или выходных данных.

Функции

 
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS

Функция обратного вызова событий CLIENT_ClearActiveInterrupts очищает активные прерывания в наборе контактов ввода-вывода общего назначения (GPIO), настроенных как входные данные прерывания.
GPIO_CLIENT_CONNECT_IO_PINS

Функция обратного вызова событий CLIENT_ConnectIoPins открывает логическое подключение к набору закреплений ввода-вывода общего назначения (GPIO) и настраивает эти закрепления для операций чтения или записи данных.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION

Функция обратного вызова событий CLIENT_ControllerSpecificFunction выполняет операцию, которая относится к конкретному контроллеру ввода-вывода общего назначения (GPIO).
GPIO_CLIENT_DISABLE_INTERRUPT

Функция обратного вызова событий CLIENT_DisableInterrupt отключает прерывания при вводе-выводе общего назначения (GPIO), настроенном в качестве входных данных прерывания.
GPIO_CLIENT_DISCONNECT_IO_PINS

Функция обратного вызова событий CLIENT_DisconnectIoPins закрывает логическое подключение к набору контактов общего назначения ввода-вывода (GPIO), настроенных для операций чтения или записи данных.
GPIO_CLIENT_ENABLE_INTERRUPT

Функция обратного вызова событий CLIENT_EnableInterrupt включает прерывания в пин-коде ввода-вывода общего назначения (GPIO), настроенном в качестве входных данных прерывания.
GPIO_CLIENT_MASK_INTERRUPTS

Функция обратного вызова событий CLIENT_MaskInterrupts маскирует прерывания на наборе контактов ввода-вывода общего назначения (GPIO), настроенных как входные данные прерывания.
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT

Функция обратного вызова событий CLIENT_PreProcessControllerInterrupt выполняет любую предварительную обработку прерывания ввода-вывода общего назначения (GPIO), которое должно выполняться немедленно, если isR планируется запустить позже.
GPIO_CLIENT_PREPARE_CONTROLLER

Функция обратного вызова событий CLIENT_PrepareController выполняет все операции, необходимые для того, чтобы контроллер ввода-вывода общего назначения (GPIO) был готов к доступу драйвером контроллера GPIO.
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS

Функция обратного вызова событий CLIENT_QueryActiveInterrupts запрашивает состояние набора контактов общего назначения ввода-вывода (GPIO), настроенных как входные данные прерывания.
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION

Функция обратного вызова событий CLIENT_QueryControllerBasicInformation извлекает аппаратные атрибуты контроллера ввода-вывода общего назначения (GPIO).
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS

Функция обратного вызова событий CLIENT_QueryEnabledInterrupts запрашивает состояние набора контактов общего назначения ввода-вывода (GPIO), чтобы определить, какие пин-коды настроены как входные данные прерывания и включены для прерываний.
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION

Функция обратного вызова событий CLIENT_QuerySetControllerInformation запрашивает драйвер контроллера ввода-вывода общего назначения (GPIO) для указанного набора атрибутов контроллера GPIO.
GPIO_CLIENT_READ_PINS

Функция обратного вызова событий CLIENT_ReadGpioPins считывает набор контактов ввода-вывода общего назначения (GPIO), настроенных в качестве входных данных.
GPIO_CLIENT_READ_PINS_MASK

Функция обратного вызова событий CLIENT_ReadGpioPinsUsingMask считывает банк закреплений ввода-вывода общего назначения (GPIO).
GPIO_CLIENT_RECONFIGURE_INTERRUPT

Функция обратного вызова событий CLIENT_ReconfigureInterrupt перенастраивает пин-код общего назначения (GPIO), используемый в качестве входных данных прерывания.
GPIO_CLIENT_RELEASE_CONTROLLER

Функция обратного вызова событий CLIENT_ReleaseController выполняет операции, необходимые, когда устройство контроллера ввода-вывода общего назначения (GPIO) больше не доступно.
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT

Функция обратного вызова событий CLIENT_RestoreBankHardwareContext восстанавливает аппаратный контекст банка контактов общего назначения ввода-вывода (GPIO).
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT

Функция обратного вызова событий CLIENT_SaveBankHardwareContext сохраняет аппаратный контекст банка контактов общего назначения ввода-вывода (GPIO).
GPIO_CLIENT_START_CONTROLLER

Функция обратного вызова событий CLIENT_StartController выполняет операции, необходимые, когда устройство контроллера ввода-вывода общего назначения (GPIO) входит в состояние питания D0.
GPIO_CLIENT_STOP_CONTROLLER

Функция обратного вызова событий CLIENT_StopController выполняет операции, необходимые для подготовки устройства контроллера ввода-вывода общего назначения (GPIO) для выхода из состояния питания D0.
GPIO_CLIENT_UNMASK_INTERRUPT

Функция обратного вызова событий CLIENT_UnmaskInterrupt распаковывает прерывание на пин-коде ввода-вывода общего назначения (GPIO), настроенном в качестве входных данных прерывания.
GPIO_CLIENT_WRITE_PINS

Функция обратного вызова событий CLIENT_WriteGpioPins записывает в набор контактов общего назначения ввода-вывода (GPIO), настроенных как выходные данные.
GPIO_CLIENT_WRITE_PINS_MASK

Функция обратного вызова событий CLIENT_WriteGpioPinsUsingMask записывает в набор контактов общего назначения ввода-вывода (GPIO), настроенных как выходные данные.
GPIO_CLX_AcquireInterruptLock

Метод GPIO_CLX_AcquireInterruptLock получает блокировку прерывания на банке контактов в контроллере ввода-вывода общего назначения (GPIO).
GPIO_CLX_ProcessAddDevicePostDeviceCreate

Метод GPIO_CLX_ProcessAddDevicePostDeviceCreate передает объект устройства платформы расширению платформы GPIO (GpioClx).
GPIO_CLX_ProcessAddDevicePreDeviceCreate

Метод GPIO_CLX_ProcessAddDevicePreDeviceCreate загружает сведения о инициализации в две структуры, передаваемые в качестве входных параметров методу WdfDeviceCreate.
GPIO_CLX_RegisterClient

Метод GPIO_CLX_RegisterClient регистрирует драйвер контроллера общего назначения (GPIO) в качестве клиента расширения платформы GPIO (GpioClx).
GPIO_CLX_ReleaseInterruptLock

Метод GPIO_CLX_ReleaseInterruptLock освобождает блокировку прерываний для указанного банка.
GPIO_CLX_UnregisterClient

Метод GPIO_CLX_UnregisterClient удаляет регистрацию драйвера контроллера общего назначения (GPIO) с расширением платформы GPIO (GpioClx).

Структуры

 
CLIENT_CONTROLLER_BASIC_INFORMATION

Структура CLIENT_CONTROLLER_BASIC_INFORMATION содержит атрибуты оборудования и сведения о конфигурации контроллера общего назначения (GPIO).
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

Структура CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT содержит запрос на аппаратные атрибуты контроллера ввода-вывода общего назначения (GPIO).
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

Структура CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT содержит набор атрибутов контроллера общего назначения (GPIO), запрошенных расширением платформы GPIO (GpioClx).
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT

Структура CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT содержит сведения о возможностях управления питанием банка контактов общего назначения ввода-вывода (GPIO).
CONTROLLER_ATTRIBUTE_FLAGS

Структура CONTROLLER_ATTRIBUTE_FLAGS описывает аппаратные атрибуты устройства контроллера ввода-вывода общего назначения (GPIO).
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS

Структура GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS описывает набор прерываний ввода-вывода общего назначения (GPIO) для очистки.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS

Структура GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS описывает входные и выходные буферы для конкретной операции контроллера.
GPIO_CLIENT_REGISTRATION_PACKET

Структура GPIO_CLIENT_REGISTRATION_PACKET содержит сведения о регистрации, которые драйвер контроллера ввода-вывода общего назначения (GPIO) передает расширению платформы GPIO (GpioClx).
GPIO_CONNECT_IO_PINS_PARAMETERS

Структура GPIO_CONNECT_IO_PINS_PARAMETERS описывает логическое подключение к набору контактов ввода-вывода общего назначения (GPIO) и указывает, следует ли настраивать эти пин-коды в качестве входных или выходных данных.
GPIO_DISABLE_INTERRUPT_PARAMETERS

Структура GPIO_DISABLE_INTERRUPT_PARAMETERS описывает прерывание ввода-вывода общего назначения (GPIO), чтобы отключить.
GPIO_DISCONNECT_IO_PINS_PARAMETERS

Структура GPIO_DISCONNECT_IO_PINS_PARAMETERS описывает набор закреплений ввода-вывода общего назначения (GPIO), которые должны быть отключены.
GPIO_ENABLE_INTERRUPT_PARAMETERS

Структура GPIO_ENABLE_INTERRUPT_PARAMETERS задает пин-код общего назначения ввода-вывода (GPIO) и описывает атрибуты прерывания этого пин-кода.
GPIO_MASK_INTERRUPT_PARAMETERS

Структура GPIO_MASK_INTERRUPT_PARAMETERS описывает набор прерываний ввода-вывода общего назначения (GPIO) для маскирования.
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS

Структура GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS описывает набор прерываний ввода-вывода общего назначения (GPIO) для запроса их включенных и активных состояний.
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS

Структура GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS указывает, какие закрепления прерываний в банке пин-адресов общего назначения (GPIO) включены.
GPIO_READ_PINS_MASK_PARAMETERS

Структура GPIO_READ_PINS_MASK_PARAMETERS описывает операцию чтения на банке контактов общего назначения ввода-вывода (GPIO).
GPIO_READ_PINS_PARAMETERS

Структура GPIO_READ_PINS_PARAMETERS описывает операцию чтения для группы закреплений ввода-вывода общего назначения (GPIO).
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS

Структура GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS описывает пин-код прерывания общего назначения (GPIO) для перенастройки.
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS

Структура GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS описывает банк универсальных операций ввода-вывода (GPIO), состояние оборудования которого требуется сохранить или восстановить.
GPIO_WRITE_PINS_MASK_PARAMETERS

Структура GPIO_WRITE_PINS_MASK_PARAMETERS описывает операцию записи на банке контактов общего назначения ввода-вывода (GPIO).
GPIO_WRITE_PINS_PARAMETERS

Структура GPIO_WRITE_PINS_PARAMETERS описывает операцию записи в группе закреплений ввода-вывода общего назначения (GPIO).