Freigeben über


Allgemeine I/O-Controller (GPIO)

Verwenden Sie die folgenden Header, um Treiber für GPIO-Ports zu entwickeln:

GPIO-Übersicht

Der allgemeine I/O-Controllertreiber (GPIO) kommuniziert mit der GPIO-Framework-Erweiterung (GpioClx) über die GpioClx-Gerätetreiberschnittstelle (DDI). Dieser DDI wird in der Headerdatei "Gpioclx.h" definiert und in diesem Abschnitt beschrieben. Im Rahmen dieses DDI implementiert GpioClx mehrere Treiberunterstützungsmethoden, die vom GPIO-Controllertreiber aufgerufen werden. Dieser Treiber implementiert eine Reihe von Ereignisrückruffunktionen, die von GpioClx aufgerufen werden. GpioClx verwendet diese Rückrufe, um Unterbrechungsanforderungen von GPIO-Pins zu verwalten, die als Interrupteingaben konfiguriert sind, und um Daten an oder von GPIO-Pins zu übertragen, die als Dateneingaben und -ausgaben konfiguriert sind.

Konzeptionelle Informationen zum Schreiben von GPIOClx-Clienttreibern finden Sie im General-Purpose I/O(GPIO)-Treiberentwurfshandbuch

IOCTLs

 
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION

Mit dem IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION E/A-Steuerungscode kann ein Client des allgemeinen I/O-Controllers (GPIO) einen controllerspezifischen Gerätesteuerungsvorgang anfordern.
IOCTL_GPIO_READ_PINS

Mit dem IOCTL_GPIO_READ_PINS E/A-Steuerungscode kann ein Client des allgemeinen I/O-Controllers (GPIO) aus einer Reihe von GPIO-Pins lesen, die als Eingaben konfiguriert sind.
IOCTL_GPIO_WRITE_PINS

Der IOCTL_GPIO_WRITE_PINS E/A-Steuerungscode ermöglicht einem Client des allgemeinen I/O-Controllers (GPIO) das Schreiben in eine Reihe von GPIO-Pins, die als Ausgaben konfiguriert sind.

Aufzählungen

 
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE

Der CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE Enumerationstyp gibt an, welche Art von Attributinformationen die GPIO-Frameworkerweiterung (GpioClx) vom GPIO-Controllertreiber anfordert.
GPIO_CONNECT_IO_PINS_MODE

Die GPIO_CONNECT_IO_PINS_MODE-Aufzählung gibt an, ob eine Reihe von allgemeinen I/O-Pins als Eingaben oder Ausgaben konfiguriert ist.

Funktionen

 
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS

Die CLIENT_ClearActiveInterrupts Ereignisrückruffunktion löscht aktive Unterbrechungen für eine Reihe von allgemeinen I/O-Pins (GPIO), die als Interrupteingaben konfiguriert sind.
GPIO_CLIENT_CONNECT_IO_PINS

Die CLIENT_ConnectIoPins Ereignisrückruffunktion öffnet eine logische Verbindung zu einer Reihe von allgemeinen I/O-Pins (GPIO) und konfiguriert diese Pins für Datenlese- oder Schreibvorgänge.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION

Die CLIENT_ControllerSpecificFunction-Ereignisrückruffunktion führt einen Vorgang aus, der für einen bestimmten allgemeinen I/O-Controller (GPIO) spezifisch ist.
GPIO_CLIENT_DISABLE_INTERRUPT

Die CLIENT_DisableInterrupt Ereignisrückruffunktion deaktiviert Unterbrechungen für einen allgemeinen I/O-Pin (GPIO), der als Interrupteingabe konfiguriert ist.
GPIO_CLIENT_DISCONNECT_IO_PINS

Die CLIENT_DisconnectIoPins Ereignisrückruffunktion schließt eine logische Verbindung zu einer Reihe von allgemeinen I/O-Pins (GPIO), die für Lese- oder Schreibvorgänge für Daten konfiguriert sind.
GPIO_CLIENT_ENABLE_INTERRUPT

Die CLIENT_EnableInterrupt Ereignisrückruffunktion ermöglicht Unterbrechungen für einen allgemeinen I/O-Pin (GPIO), der als Interrupteingabe konfiguriert ist.
GPIO_CLIENT_MASK_INTERRUPTS

Die CLIENT_MaskInterrupts Ereignisrückruffunktionsmasken unterbrechen eine Reihe von allgemeinen I/O-Pins (GPIO), die als Interrupteingaben konfiguriert sind.
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT

Die CLIENT_PreProcessControllerInterrupt Ereignisrückruffunktion führt jede Vorverarbeitung eines allgemeinen I/O-Interrupts (GPIO) durch, der sofort ausgeführt werden muss, wenn der ISR zu einem späteren Zeitpunkt ausgeführt werden soll.
GPIO_CLIENT_PREPARE_CONTROLLER

Die CLIENT_PrepareController Ereignisrückruffunktion führt alle Vorgänge aus, die erforderlich sind, um den allgemeinen I/O-Controller (GPIO) für den Zugriff durch den GPIO-Controllertreiber bereit zu machen.
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS

Die CLIENT_QueryActiveInterrupts Ereignisrückruffunktion fragt den Status einer Reihe von allgemeinen I/O-Pins (GPIO) ab, die als Interrupteingaben konfiguriert sind.
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION

Die CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion ruft die Hardwareattribute des allgemeinen I/O-Controllers (GPIO) ab.
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS

Die CLIENT_QueryEnabledInterrupts Ereignisrückruffunktion fragt den Status einer Reihe von allgemeinen I/O-Pins (GPIO) ab, um zu bestimmen, welche Pins sowohl als Interrupteingaben konfiguriert sind als auch für Unterbrechungen aktiviert sind.
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION

Die CLIENT_QuerySetControllerInformation Ereignisrückruffunktion fragt den allgemeinen I/O-Controllertreiber (GPIO) für den angegebenen Satz von Attributen des GPIO-Controllers ab.
GPIO_CLIENT_READ_PINS

Die CLIENT_ReadGpioPins Ereignisrückruffunktion liest eine Reihe von allgemeinen I/O-Pins (GPIO), die als Dateneingaben konfiguriert sind.
GPIO_CLIENT_READ_PINS_MASK

Die CLIENT_ReadGpioPinsUsingMask Ereignisrückruffunktion liest eine Bank mit allgemeinen I/O-Pins (GPIO) vor.
GPIO_CLIENT_RECONFIGURE_INTERRUPT

Die CLIENT_ReconfigureInterrupt Ereignisrückruffunktion konfiguriert einen allgemeinen I/O-Pin (GPIO), der als Interrupteingabe verwendet wird.
GPIO_CLIENT_RELEASE_CONTROLLER

Die CLIENT_ReleaseController Ereignisrückruffunktion führt Vorgänge aus, die benötigt werden, wenn auf das I/O-Controllergerät (General Purpose I/O) nicht mehr zugegriffen werden kann.
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT

Die CLIENT_RestoreBankHardwareContext Ereignisrückruffunktion stellt den Hardwarekontext einer Bank mit allgemeinen I/O-Pins (GPIO) wieder her.
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT

Die CLIENT_SaveBankHardwareContext Ereignisrückruffunktion speichert den Hardwarekontext einer Bank mit allgemeinen I/O-Pins (GPIO).
GPIO_CLIENT_START_CONTROLLER

Die CLIENT_StartController Ereignisrückruffunktion führt Vorgänge aus, die benötigt werden, wenn das I/O-Controllergerät (General-Purpose I/O) in den D0-Energiezustand wechselt.
GPIO_CLIENT_STOP_CONTROLLER

Die CLIENT_StopController Ereignisrückruffunktion führt Vorgänge aus, die zum Vorbereiten des allgemeinen E/A-Controllergeräts (GPIO) erforderlich sind, um den D0-Energiezustand zu beenden.
GPIO_CLIENT_UNMASK_INTERRUPT

Die CLIENT_UnmaskInterrupt Ereignisrückruffunktion entmasket den Interrupt auf einem allgemeinen I/O-Pin (GPIO), der als Interrupteingabe konfiguriert ist.
GPIO_CLIENT_WRITE_PINS

Die CLIENT_WriteGpioPins Ereignisrückruffunktion schreibt in eine Reihe von allgemeinen I/O-Pins (GPIO), die als Datenausgabe konfiguriert sind.
GPIO_CLIENT_WRITE_PINS_MASK

Die CLIENT_WriteGpioPinsUsingMask Ereignisrückruffunktion schreibt in eine Reihe von allgemeinen I/O-Pins (GPIO), die als Datenausgabe konfiguriert sind.
GPIO_CLX_AcquireInterruptLock

Die GPIO_CLX_AcquireInterruptLock Methode erwirbt eine Unterbrechungssperre auf einer Bank von Pins im allgemeinen I/O-Controller (GPIO).
GPIO_CLX_ProcessAddDevicePostDeviceCreate

Die GPIO_CLX_ProcessAddDevicePostDeviceCreate-Methode übergibt ein Framework-Geräteobjekt an die GPIO-Frameworkerweiterung (GpioClx).
GPIO_CLX_ProcessAddDevicePreDeviceCreate

Die GPIO_CLX_ProcessAddDevicePreDeviceCreate Methode lädt Initialisierungsinformationen in zwei Strukturen, die als Eingabeparameter an die WdfDeviceCreate-Methode übergeben werden.
GPIO_CLX_RegisterClient

Die GPIO_CLX_RegisterClient Methode registriert einen allgemeinen I/O-Controllertreiber (GPIO) als Client der GPIO-Framework-Erweiterung (GpioClx).
GPIO_CLX_ReleaseInterruptLock

Die GPIO_CLX_ReleaseInterruptLock-Methode gibt eine Unterbrechungssperre auf der angegebenen Bank frei.
GPIO_CLX_UnregisterClient

Die GPIO_CLX_UnregisterClient-Methode entfernt die Registrierung eines allgemeinen I/O-Controllertreibers mit der GPIO-Framework-Erweiterung (GpioClx).

Strukturen

 
CLIENT_CONTROLLER_BASIC_INFORMATION

Die CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur enthält allgemeine I/O(GPIO)-Controllerhardwareattribute und Konfigurationsinformationen.
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT

Die CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT-Struktur enthält eine Anforderung für die Hardwareattribute des allgemeinen I/O-Controllers (GPIO).
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT

Die CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT-Struktur enthält eine Reihe von allgemeinen I/O-Controllerattributen (GPIO), die von der GPIO-Frameworkerweiterung (GpioClx) angefordert wurden.
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT

Die CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT Struktur enthält Informationen über die Power-Management-Funktionen einer Bank mit allgemeinen I/O-Pins (GPIO).
CONTROLLER_ATTRIBUTE_FLAGS

Die CONTROLLER_ATTRIBUTE_FLAGS-Struktur beschreibt die Hardwareattribute des allgemeinen I/O-Controllergeräts .The CONTROLLER_ATTRIBUTE_FLAGS structure describes the hardware attributes of the general-purpose I/O (GPIO) controller device.
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS

Die GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS Struktur beschreibt eine Reihe von allgemeinen I/O (GPIO)-Unterbrechungsstiften, um sie zu löschen.
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS

Die GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS-Struktur beschreibt die Eingabe- und Ausgabepuffer für einen controllerspezifischen Vorgang.
GPIO_CLIENT_REGISTRATION_PACKET

Die GPIO_CLIENT_REGISTRATION_PACKET-Struktur enthält Registrierungsinformationen, die der allgemeine I/O-Controllertreiber (GPIO) an die GPIO-Frameworkerweiterung (GpioClx) übergibt.
GPIO_CONNECT_IO_PINS_PARAMETERS

Die GPIO_CONNECT_IO_PINS_PARAMETERS-Struktur beschreibt eine logische Verbindung mit einer Reihe von allgemeinen I/O-Pins (GPIO) und gibt an, ob diese Pins als Dateneingaben oder -ausgaben konfiguriert werden sollen.
GPIO_DISABLE_INTERRUPT_PARAMETERS

Die GPIO_DISABLE_INTERRUPT_PARAMETERS Struktur beschreibt eine allgemeine E/A-Unterbrechung (GPIO) zum Deaktivieren.
GPIO_DISCONNECT_IO_PINS_PARAMETERS

Die GPIO_DISCONNECT_IO_PINS_PARAMETERS Struktur beschreibt eine Reihe von allgemeinen I/O-Pins (GPIO), die getrennt werden sollen.
GPIO_ENABLE_INTERRUPT_PARAMETERS

Die GPIO_ENABLE_INTERRUPT_PARAMETERS-Struktur gibt einen allgemeinen I/O-Pin (GPIO) an und beschreibt die Interruptattribute dieses Pins.
GPIO_MASK_INTERRUPT_PARAMETERS

Die GPIO_MASK_INTERRUPT_PARAMETERS Struktur beschreibt eine Reihe von allgemeinen I/O (GPIO)-Unterbrechungsstiften, die maskiert werden sollen.
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS

Die GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS-Struktur beschreibt eine Reihe von allgemeinen I/O (GPIO)-Interrupt-Pins, um ihre aktivierten und aktiven Zustände abzufragen.
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS

Die GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS Struktur gibt an, welche Unterbrechungsstifte in einer Bank mit allgemeinen I/O-Pins (GPIO) aktiviert sind.
GPIO_READ_PINS_MASK_PARAMETERS

Die GPIO_READ_PINS_MASK_PARAMETERS Struktur beschreibt einen Lesevorgang auf einer Bank mit allgemeinen I/O-Pins (GPIO).
GPIO_READ_PINS_PARAMETERS

Die GPIO_READ_PINS_PARAMETERS Struktur beschreibt einen Lesevorgang für eine Gruppe von allgemeinen I/O-Pins (GPIO).
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS

Die GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS Struktur beschreibt die allgemeine I/O (GPIO)-Unterbrechungsnadel zur Neukonfiguration.
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS

Die GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS Struktur beschreibt eine Bank mit allgemeinen I/O-Pins (GPIO), deren Hardwarezustand gespeichert oder wiederhergestellt werden soll.
GPIO_WRITE_PINS_MASK_PARAMETERS

Die GPIO_WRITE_PINS_MASK_PARAMETERS Struktur beschreibt einen Schreibvorgang auf einer Bank mit allgemeinen I/O-Pins (GPIO).
GPIO_WRITE_PINS_PARAMETERS

Die GPIO_WRITE_PINS_PARAMETERS-Struktur beschreibt einen Schreibvorgang für eine Gruppe von allgemeinen I/O-Pins (GPIO).