GPIO_ENABLE_INTERRUPT_PARAMETERS 구조체(gpioclx.h)
GPIO_ENABLE_INTERRUPT_PARAMETERS 구조체는 GPIO(범용 I/O) 핀을 지정하고 이 핀의 인터럽트 특성을 설명합니다.
구문
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_INFORMATIONNumberOfPinsPerBank 멤버에 대한 설명을 참조하세요.
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 상수는 GPIO(범용 I/O) 핀을 위로 당기거나 끌어올지 여부를 지정합니다.
#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