(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_EnableInterruptCLIENT_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

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY