структура GPIO_ENABLE_INTERRUPT_PARAMETERS (gpioclx.h)
Структура GPIO_ENABLE_INTERRUPT_PARAMETERS определяет контакт ввода-вывода общего назначения (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 . Дополнительные сведения см. в описании участника NumberOfPinsPerBank в CLIENT_CONTROLLER_BASIC_INFORMATION.
Flags
Набор флагов, управляющих конфигурацией контактов GPIO. В настоящее время флаги для этого элемента не определены.
InterruptMode
Указывает, является ли запрос прерывания от этого контакта GPIO чувствительным к уровню или по краям. Для этого элемента задано одно из следующих значений:
LevelSensitive
Кратковременная блокировка
Дополнительные сведения см. в разделе KINTERRUPT_MODE.
Polarity
Указывает, является ли строка прерывания из этого контакта GPIO активно-высокой или активно-низкой. Для этого элемента задано одно из следующих значений:
ПрерываниеActiveHigh
InterruptRisingEdge
InterruptActiveLow
InterruptFallingEdge
ПрерываниеActiveBoth
Дополнительные сведения см. в разделе 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, если нет данных, определенных поставщиком. Дополнительные сведения о данных, определяемых поставщиком, см. в описании дескриптора подключения GPIO в спецификации ACPI 5.0.
VendorDataLength
Размер (в байтах) буфера данных, на который указывает элемент VendorData .
Комментарии
Функции обратного вызова событий CLIENT_EnableInterrupt и CLIENT_UnmaskInterrupt используют структуру GPIO_ENABLE_INTERRUPT_PARAMETERS для указания контакта GPIO и описания атрибутов прерывания этого закрепления.
Константы GPIO_PIN_PULL_CONFIGURATION_XXX указывают, выполняется ли вытягивание или вытягивание контакта ввода-вывода общего назначения (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)
Для элемента PullConfiguration структуры GPIO_ENABLE_INTERRUPT_PARAMETERS задана константа GPIO_PIN_PULL_CONFIGURATION_XXX .
Если ни одна из системных констант GPIO_PIN_PULL_CONFIGURATION_XXX не описывает конфигурацию контакта, для этого элемента можно задать константу, определяемую поставщиком в диапазоне от 128 до 255.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 8. |
Верхняя часть | gpioclx.h |
См. также раздел
CLIENT_CONTROLLER_BASIC_INFORMATION