(gpioclx.h) GPIO_ENABLE_INTERRUPT_PARAMETERS 结构
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 微秒为单位)。 例如,将 5.84 毫秒的反弹时间指定为 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