структура GPIO_CONNECT_IO_PINS_PARAMETERS (gpioclx.h)
Структура GPIO_CONNECT_IO_PINS_PARAMETERS описывает логическое подключение к набору закреплений ввода-вывода общего назначения (GPIO) и указывает, следует ли настраивать эти пин-коды в качестве входных или выходных данных.
Синтаксис
typedef struct _GPIO_CONNECT_IO_PINS_PARAMETERS {
BANK_ID BankId;
PPIN_NUMBER PinNumberTable;
USHORT PinCount;
GPIO_CONNECT_IO_PINS_MODE ConnectMode;
UCHAR PullConfiguration;
USHORT DebounceTimeout;
USHORT DriveStrength;
PVOID VendorData;
ULONG VendorDataLength;
GPIO_CONNECT_IO_PINS_FLAGS ConnectFlags;
} GPIO_CONNECT_IO_PINS_PARAMETERS, *PGPIO_CONNECT_IO_PINS_PARAMETERS;
Члены
BankId
Идентификатор банка, содержащего пин-коды GPIO. Если M является числом банков в контроллере GPIO, BankId является целым числом в диапазоне от 0 до M–1. Расширение платформы GPIO (GpioClx) ранее получило количество банков в контроллере из функции обратного вызова событий CLIENT_QueryControllerBasicInformation. Дополнительные сведения см. в разделе "Примечания" в CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumberTable
Указатель на массив значений PIN_NUMBER. Каждый элемент массива задает число пин-кода GPIO для подключения. Если N является числом пин-кодов в этом банке, пины нумеруются от 0 до N–1. Число элементов в этом массиве определяется элементом PinCount.
PinCount
Количество элементов в массиве PinNumberTable.
ConnectMode
Следует ли настроить GPIO в новом соединении в качестве входных данных или выходных данных. Значение этого параметра — ConnectModeInput для подключения только для чтения, ConnectModeOutput для подключения только для записи и (ConnectModeInput | ConnectModeOutput) для подключения чтения и записи. Дополнительные сведения см. в GPIO_CONNECT_IO_PINS_MODE.
PullConfiguration
Независимо от того, вытягивается ли пин-код GPIO вверх или вытягивается. Обычно этот элемент имеет одну из следующих системных констант:
- GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
- GPIO_PIN_PULL_CONFIGURATION_PULLUP
- GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
- GPIO_PIN_PULL_CONFIGURATION_PULLNONE
DebounceTimeout
Время разбиения в единицах 10 микросекунд. Например, время разбиения 5,84 миллисекунда указывается как 584. Если входной сигнал создается механическим коммутатором, металлический контакт в коммутаторе, как правило, отскочил в течение короткого времени после включения или отключения коммутатора. Время разбиения — это минимальное время, когда уровень входного сигнала должен оставаться стабильным, прежде чем сигнал может быть интерпретирован как допустимый высокий или низкий уровень.
DriveStrength
Сила диска пин-кода GPIO в единицах 10 микроампер. Например, сила диска 1,21 миллиампера указывается как 121.
VendorData
Указатель на выделенный вызывающим буфером, содержащий данные, относящиеся к поставщику, полученные из встроенного ПО ACPI для аппаратной платформы. Эти данные копируются из поля VendorData дескриптора ресурса GPIO, описывающего соединение ввода-вывода данных между периферийным устройством и набором закреплений GPIO на контроллере GPIO. Этот член является необязательным и имеет значение NULL, если встроенное ПО не предоставляет данные, относящиеся к поставщику для этого подключения.
VendorDataLength
Размер буфера данных в байтах, на который указывает элемент VendorData. Если VendorData имеет значение NULL, VendorDataLength равно нулю.
ConnectFlags
Набор флагов, управляющих конфигурацией закреплений GPIO. В настоящее время для этого элемента не определены флаги.
Замечания
Параметр ClientParameters подпрограмме обратного вызова событий CLIENT_ConnectIoPins — это указатель на структуру GPIO_CONNECT_IO_PINS_PARAMETERS.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается начиная с Windows 8. |
заголовка | gpioclx.h |
См. также
CLIENT_CONTROLLER_BASIC_INFORMATION