GPIO_ENABLE_INTERRUPT_PARAMETERS结构(gpioclx.h)
GPIO_ENABLE_INTERRUPT_PARAMETERS 结构指定常规用途 I/O (GPIO) 引脚,并描述此引脚的中断属性。
语法
typedef struct _GPIO_ENABLE_INTERRUPT_PARAMETERS {
BANK_ID BankId;
PIN_NUMBER PinNumber;
GPIO_ENABLE_INTERRUPT_FLAGS Flags;
KINTERRUPT_MODE InterruptMode;
KINTERRUPT_POLARITY Polarity;
UCHAR PullConfiguration;
USHORT DebounceTimeout;
PVOID VendorData;
ULONG VendorDataLength;
} GPIO_ENABLE_INTERRUPT_PARAMETERS, *PGPIO_ENABLE_INTERRUPT_PARAMETERS;
成员
BankId
包含 GPIO 引脚的银行的标识符。 如果 M 是 GPIO 控制器中的银行数,BankId 是 0 到 M–1 范围内的整数。 GPIO 框架扩展(GpioClx)以前从 CLIENT_QueryControllerBasicInformation 事件回调函数中获取控制器中的银行数。 有关详细信息,请参阅 CLIENT_CONTROLLER_BASIC_INFORMATION中的备注。
PinNumber
银行相对引脚号。 如果 N 是此银行中的数字引脚,则 PinNumber 是 0 到 N–1 范围内的整数。 GpioClx 以前从 CLIENT_QueryControllerBasicInformation 事件回调函数中获取每个银行中的引脚数。 有关详细信息,请参阅 CLIENT_CONTROLLER_BASIC_INFORMATION中的 NumberOfPinsPerBank 成员的说明。
Flags
一组用于控制 GPIO 引脚配置的标志。 当前没有为此成员定义任何标志。
InterruptMode
来自此 GPIO 引脚的中断请求是级别敏感还是边缘触发。 此成员设置为以下值之一:
LevelSensitive
闩锁
有关详细信息,请参阅 KINTERRUPT_MODE。
Polarity
此 GPIO 引脚中的中断线是主动高还是主动-低。 此成员设置为以下值之一:
InterruptActiveHigh
InterruptRisingEdge
InterruptActiveLow
InterruptFallingEdge
InterruptActiveBoth
有关详细信息,请参阅 KINTERRUPT_POLARITY。
PullConfiguration
此 GPIO 引脚是拉起还是下拉。 此成员通常设置为以下系统定义的常量之一:
GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
GPIO_PIN_PULL_CONFIGURATION_PULLUP
GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
GPIO_PIN_PULL_CONFIGURATION_PULLNONE
如果这些常量都未适当描述引脚配置,则可以将此成员设置为 128-255 范围内的供应商定义的常量。 有关这些常量的详细信息,请参阅 GPIO_PIN_PULL_CONFIGURATION。
DebounceTimeout
以 10 微秒为单位的反击时间。 例如,将 debounce 时间指定为 584 毫秒。 反转时间是输入信号在低到高转换开始后在高水平稳定或低水平转换开始后在低级别稳定所需的时间。 例如,如果机械开关生成中断信号,则开关中的金属接触停止弹跳的时间是开关打开或关闭后停止弹跳所需的时间。
VendorData
指向调用方分配的缓冲区的指针,该缓冲区包含此 GPIO 引脚的供应商定义数据。 此成员是可选的,如果未提供供应商定义的数据,则设置为 NULL。 有关供应商定义数据的详细信息,请参阅 ACPI 5.0 规范 中 GPIO 连接描述符 的说明。
VendorDataLength
VendorData 成员指向的数据缓冲区的大小(以字节为单位)。
言论
CLIENT_EnableInterrupt 和 CLIENT_UnmaskInterrupt 事件回调函数使用 GPIO_ENABLE_INTERRUPT_PARAMETERS 结构来指定 GPIO 引脚并描述此引脚的中断属性。
GPIO_PIN_PULL_CONFIGURATION_XXX 常量指定是拉取还是拉下常规用途 I/O(GPIO) 引脚。
#define GPIO_PIN_PULL_CONFIGURATION_DEFAULT (0x0)
#define GPIO_PIN_PULL_CONFIGURATION_PULLUP (0x1)
#define GPIO_PIN_PULL_CONFIGURATION_PULLDOWN (0x2)
#define GPIO_PIN_PULL_CONFIGURATION_NONE (0x3)
GPIO_ENABLE_INTERRUPT_PARAMETERS 结构的 PullConfiguration 成员设置为 GPIO_PIN_PULL_CONFIGURATION_XXX 常量。
如果系统定义的 GPIO_PIN_PULL_CONFIGURATION_XXX 常量均未正确描述引脚配置,则可以将此成员设置为 128 到 255 范围内的供应商定义的常量。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始支持。 |
标头 | gpioclx.h |
另请参阅
CLIENT_CONTROLLER_BASIC_INFORMATION