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