常规用途 I/O (GPIO) 控制器

若要开发 GPIO 端口的驱动程序,请使用以下标头:

GPIO 概述

通用 I/O (GPIO) 控制器驱动程序通过 GpioClx 设备驱动程序接口(DDI)与 GPIO 框架扩展(GpioClx)通信。 此 DDI 在 Gpioclx.h 头文件中定义,本节对此进行介绍。 作为此 DDI 的一部分,GpioClx 实现多个驱动程序支持方法,这些方法由 GPIO 控制器驱动程序调用。 此驱动程序实现由 GpioClx 调用的一组事件回调函数。 GpioClx 使用这些回调来管理配置为中断输入的 GPIO 引脚的中断请求,以及将数据传输到或传出配置为数据输入和输出的 GPIO 引脚。

有关编写 GPIOClx 客户端驱动程序的概念性信息,请参阅 General-Purpose I/O (GPIO) 驱动程序设计指南

IOCTLs

 
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION

IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION I/O 控制代码使常规用途 I/O(GPIO) 控制器的客户端能够请求特定于控制器的设备控制作。
IOCTL_GPIO_READ_PINS

IOCTL_GPIO_READ_PINS I/O 控制代码使常规用途 I/O(GPIO) 控制器的客户端能够从配置为输入的一组 GPIO 引脚中读取。
IOCTL_GPIO_WRITE_PINS

IOCTL_GPIO_WRITE_PINS I/O 控制代码使常规用途 I/O (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枚举指示是否将一组常规用途 I/O (GPIO) 引脚配置为输入或输出。

功能

 
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS

CLIENT_ClearActiveInterrupts事件回调函数清除配置为中断输入的一组常规用途 I/O (GPIO) 引脚上的活动中断。
GPIO_CLIENT_CONNECT_IO_PINS

CLIENT_ConnectIoPins事件回调函数将打开与一组常规用途 I/O (GPIO) 引脚的逻辑连接,并为数据读取或写入作配置这些引脚。
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION

CLIENT_ControllerSpecificFunction事件回调函数执行特定于特定常规用途 I/O (GPIO) 控制器的作。
GPIO_CLIENT_DISABLE_INTERRUPT

CLIENT_DisableInterrupt事件回调函数在配置为中断输入的常规用途 I/O (GPIO) 引脚上禁用中断。
GPIO_CLIENT_DISCONNECT_IO_PINS

CLIENT_DisconnectIoPins事件回调函数关闭与为数据读取或写入作配置一组常规用途 I/O (GPIO) 引脚的逻辑连接。
GPIO_CLIENT_ENABLE_INTERRUPT

CLIENT_EnableInterrupt事件回调函数在配置为中断输入的常规用途 I/O (GPIO) 引脚上启用中断。
GPIO_CLIENT_MASK_INTERRUPTS

CLIENT_MaskInterrupts事件回调函数对配置为中断输入的一组常规用途 I/O (GPIO) 引脚屏蔽中断。
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT

CLIENT_PreProcessControllerInterrupt事件回调函数执行常规用途 I/O (GPIO) 中断的任何预处理,如果 ISR 计划稍后运行,则必须立即完成该中断。
GPIO_CLIENT_PREPARE_CONTROLLER

CLIENT_PrepareController事件回调函数执行使通用 I/O (GPIO) 控制器可供 GPIO 控制器驱动程序访问所需的任何作。
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS

CLIENT_QueryActiveInterrupts事件回调函数查询配置为中断输入的一组常规用途 I/O (GPIO) 引脚的状态。
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION

CLIENT_QueryControllerBasicInformation事件回调函数检索常规用途 I/O (GPIO) 控制器的硬件属性。
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS

CLIENT_QueryEnabledInterrupts事件回调函数查询一组常规用途 I/O (GPIO) 引脚的状态,以确定哪些引脚都配置为中断输入,并为中断启用。
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION

CLIENT_QuerySetControllerInformation事件回调函数查询 GPIO 控制器的指定属性集的常规用途 I/O (GPIO) 控制器驱动程序。
GPIO_CLIENT_READ_PINS

CLIENT_ReadGpioPins事件回调函数读取配置为数据输入的一组常规用途 I/O (GPIO) 引脚。
GPIO_CLIENT_READ_PINS_MASK

CLIENT_ReadGpioPinsUsingMask事件回调函数读取一组通用 I/O (GPIO) 引脚。
GPIO_CLIENT_RECONFIGURE_INTERRUPT

CLIENT_ReconfigureInterrupt事件回调函数重新配置用作中断输入的常规用途 I/O (GPIO) 引脚。
GPIO_CLIENT_RELEASE_CONTROLLER

CLIENT_ReleaseController事件回调函数执行在常规用途 I/O(GPIO) 控制器设备不再可访问时所需的作。
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT

CLIENT_RestoreBankHardwareContext事件回调函数还原常规用途 I/O(GPIO)引脚的银行的硬件上下文。
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT

CLIENT_SaveBankHardwareContext事件回调函数保存常规用途 I/O(GPIO)引脚的银行的硬件上下文。
GPIO_CLIENT_START_CONTROLLER

CLIENT_StartController事件回调函数执行常规用途 I/O(GPIO) 控制器设备进入 D0 电源状态时所需的作。
GPIO_CLIENT_STOP_CONTROLLER

CLIENT_StopController事件回调函数执行准备常规用途 I/O(GPIO) 控制器设备以退出 D0 电源状态所需的作。
GPIO_CLIENT_UNMASK_INTERRUPT

CLIENT_UnmaskInterrupt事件回调函数在配置为中断输入的常规用途 I/O (GPIO) 引脚上取消屏蔽中断。
GPIO_CLIENT_WRITE_PINS

CLIENT_WriteGpioPins事件回调函数写入配置为数据输出的一组常规用途 I/O (GPIO) 引脚。
GPIO_CLIENT_WRITE_PINS_MASK

CLIENT_WriteGpioPinsUsingMask事件回调函数写入配置为数据输出的一组常规用途 I/O (GPIO) 引脚。
GPIO_CLX_AcquireInterruptLock

GPIO_CLX_AcquireInterruptLock方法获取常规用途 I/O(GPIO) 控制器中引脚的一个中断锁。
GPIO_CLX_ProcessAddDevicePostDeviceCreate

GPIO_CLX_ProcessAddDevicePostDeviceCreate方法将框架设备对象传递给 GPIO 框架扩展(GpioClx)。
GPIO_CLX_ProcessAddDevicePreDeviceCreate

GPIO_CLX_ProcessAddDevicePreDeviceCreate方法将初始化信息加载到作为输入参数传递给 WdfDeviceCreate 方法的两个结构中。
GPIO_CLX_RegisterClient

GPIO_CLX_RegisterClient方法将常规用途 I/O (GPIO) 控制器驱动程序注册为 GPIO 框架扩展 (GpioClx) 的客户端。
GPIO_CLX_ReleaseInterruptLock

GPIO_CLX_ReleaseInterruptLock方法释放指定银行上的中断锁。
GPIO_CLX_UnregisterClient

GPIO_CLX_UnregisterClient方法删除使用 GPIO 框架扩展(GpioClx)注册通用 I/O(GPIO)控制器驱动程序。

结构

 
CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_CONTROLLER_BASIC_INFORMATION结构包含常规用途 I/O(GPIO)控制器硬件属性和配置信息。
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT结构包含对常规用途 I/O(GPIO) 控制器的硬件属性的请求。
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT结构包含 GPIO 框架扩展 (GpioClx) 请求的一组通用 I/O (GPIO) 控制器属性。
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT

CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT结构包含有关通用 I/O (GPIO) 引脚的银行电源管理功能的信息。
CONTROLLER_ATTRIBUTE_FLAGS

CONTROLLER_ATTRIBUTE_FLAGS结构描述通用 I/O(GPIO)控制器设备的硬件属性。
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS

GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS结构描述要清除的一组常规用途 I/O(GPIO)中断引脚。
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS

GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS结构描述控制器特定作的输入和输出缓冲区。
GPIO_CLIENT_REGISTRATION_PACKET

GPIO_CLIENT_REGISTRATION_PACKET结构包含通用 I/O(GPIO) 控制器驱动程序传递给 GPIO 框架扩展(GpioClx)的注册信息。
GPIO_CONNECT_IO_PINS_PARAMETERS

GPIO_CONNECT_IO_PINS_PARAMETERS结构描述与一组常规用途 I/O (GPIO) 引脚的逻辑连接,并指定是将这些引脚配置为数据输入还是输出。
GPIO_DISABLE_INTERRUPT_PARAMETERS

GPIO_DISABLE_INTERRUPT_PARAMETERS结构描述要禁用的常规用途 I/O (GPIO) 中断引脚。
GPIO_DISCONNECT_IO_PINS_PARAMETERS

GPIO_DISCONNECT_IO_PINS_PARAMETERS结构描述了一组要断开连接的常规用途 I/O (GPIO) 引脚。
GPIO_ENABLE_INTERRUPT_PARAMETERS

GPIO_ENABLE_INTERRUPT_PARAMETERS结构指定常规用途 I/O (GPIO) 引脚,并描述此引脚的中断属性。
GPIO_MASK_INTERRUPT_PARAMETERS

GPIO_MASK_INTERRUPT_PARAMETERS结构描述一组通用 I/O(GPIO)中断引脚来屏蔽。
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS

GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS结构描述了一组常规用途 I/O (GPIO) 中断引脚,用于查询其启用和活动状态。
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS

GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS结构指示启用了常规用途 I/O(GPIO)引脚的银行中的中断引脚。
GPIO_READ_PINS_MASK_PARAMETERS

GPIO_READ_PINS_MASK_PARAMETERS结构描述常规用途 I/O (GPIO) 引脚的一个读取作。
GPIO_READ_PINS_PARAMETERS

GPIO_READ_PINS_PARAMETERS结构描述对一组常规用途 I/O (GPIO) 引脚的读取作。
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS

GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS结构描述要重新配置通用 I/O(GPIO)中断引脚。
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS

GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS结构描述了一组通用 I/O(GPIO)引脚,其硬件状态是保存或还原的。
GPIO_WRITE_PINS_MASK_PARAMETERS

GPIO_WRITE_PINS_MASK_PARAMETERS结构描述常规用途 I/O (GPIO) 引脚的银行上的写入作。
GPIO_WRITE_PINS_PARAMETERS

GPIO_WRITE_PINS_PARAMETERS结构描述对一组常规用途 I/O (GPIO) 引脚的写入作。