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