常规用途 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) 引脚的写入作。 |