다음을 통해 공유


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

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY