Condividi tramite


struttura GPIO_ENABLE_INTERRUPT_PARAMETERS (gpioclx.h)

La struttura GPIO_ENABLE_INTERRUPT_PARAMETERS specifica un pin di I/O (GPIO) per utilizzo generico e descrive gli attributi di interrupt di questo pin.

Sintassi

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;

Members

BankId

Identificatore della banca che contiene il pin GPIO. Se M è il numero di banche nel controller GPIO, BankId è un numero intero compreso nell'intervallo da 0 a M-1. L'estensione del framework GPIO (GpioClx) ha ottenuto in precedenza il numero di banche nel controller dalla funzione di callback degli eventi CLIENT_QueryControllerBasicInformation . Per altre informazioni, vedere La sezione Osservazioni in CLIENT_CONTROLLER_BASIC_INFORMATION.

PinNumber

Numero di pin relativo alla banca. Se N è il numero pin in questa banca, PinNumber è un numero intero compreso nell'intervallo da 0 a N-1. GpioClx ha ottenuto in precedenza il numero di pin in ogni banca dalla funzione di callback dell'evento CLIENT_QueryControllerBasicInformation . Per altre informazioni, vedere la descrizione del membro NumberOfPinsPerBank in CLIENT_CONTROLLER_BASIC_INFORMATION.

Flags

Set di flag che controllano la configurazione dei pin GPIO. Nessun flag è attualmente definito per questo membro.

InterruptMode

Indica se la richiesta di interrupt da questo pin GPIO è sensibile al livello o attivata da edge. Questo membro è impostato su uno dei valori seguenti:

  • LevelSensitive

  • Bloccata

Per altre informazioni, vedere KINTERRUPT_MODE.

Polarity

Indica se la riga di interruzione da questo pin GPIO è attiva-alta o bassa attiva. Questo membro è impostato su uno dei valori seguenti:

  • InterruptActiveHigh

  • InterruptRisingEdge

  • InterruptActiveLow

  • InterruptFallingEdge

  • InterruptActiveBoth

Per altre informazioni, vedere KINTERRUPT_POLARITY.

PullConfiguration

Indica se questo pin GPIO viene trascinato verso l'alto o verso il basso. Questo membro viene in genere impostato su una delle costanti definite dal sistema seguenti:

  • GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT

  • GPIO_PIN_PULL_CONFIGURATION_PULLUP

  • GPIO_PIN_PULL_CONFIGURATION_PULLDOWN

  • GPIO_PIN_PULL_CONFIGURATION_PULLNONE

Se nessuna di queste costanti descrive in modo appropriato la configurazione del pin, questo membro può essere impostato su una costante definita dal fornitore nell'intervallo 128-255. Per altre informazioni su queste costanti, vedere GPIO_PIN_PULL_CONFIGURATION.

DebounceTimeout

Tempo di deounce in unità di 10 microsecondi. Ad esempio, un tempo di debounce di 5,84 millisecondi viene specificato come 584. Il tempo di debounce è il tempo necessario per stabilizzare un segnale di input a un livello elevato dopo l'inizio di una transizione bassa-alta o a un livello basso dopo l'inizio di una transizione alta a bassa. Ad esempio, se un segnale di interruzione viene generato da un interruttore meccanico, il tempo di debounce è il tempo necessario per il contatto metallico nel commutatore per arrestare l'rimbalzo dopo l'accensione o la disattivazione del commutatore.

VendorData

Puntatore a un buffer allocato dal chiamante che contiene dati definiti dal fornitore per questo pin GPIO. Questo membro è facoltativo ed è impostato su NULL se non sono disponibili dati definiti dal fornitore. Per altre informazioni sui dati definiti dal fornitore, vedere la descrizione del descrittore di connessione GPIO nella specifica ACPI 5.0.

VendorDataLength

Dimensioni, in byte, del buffer di dati a cui punta il membro VendorData .

Commenti

Le funzioni di callback degli eventi CLIENT_EnableInterrupt e CLIENT_UnmaskInterrupt usano una struttura di GPIO_ENABLE_INTERRUPT_PARAMETERS per specificare un pin GPIO e descrivere gli attributi di interrupt di questo pin.

Le costanti GPIO_PIN_PULL_CONFIGURATION_XXX specificano se un pin di I/O per utilizzo generico (GPIO) viene trascinato verso l'alto o verso il basso.

#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)

Il membro PullConfiguration della struttura GPIO_ENABLE_INTERRUPT_PARAMETERS è impostato su una costante GPIO_PIN_PULL_CONFIGURATION_XXX .

Se nessuna delle costanti GPIO_PIN_PULL_CONFIGURATION_XXX definite dal sistema descrive in modo appropriato la configurazione del pin, questo membro può essere impostato su una costante definita dal fornitore nell'intervallo da 128 a 255.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Intestazione gpioclx.h

Vedi anche

CLIENT_CONTROLLER_BASIC_INFORMATION

CLIENT_EnableInterrupt

CLIENT_QueryControllerBasicInformation

CLIENT_UnmaskInterrupt

KINTERRUPT_MODE

KINTERRUPT_POLARITY