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_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