Controller di I/O per utilizzo generico (GPIO)
Per sviluppare driver per le porte GPIO, usare queste intestazioni:
Panoramica di GPIO
Il driver del controller di I/O per utilizzo generico (GPIO) comunica con l'estensione del framework GPIO (GpioClx) tramite l'interfaccia DDI (Device Driver Interface) GpioClx. Questa DDI è definita nel file di intestazione Gpioclx.h ed è descritta in questa sezione. Come parte di questa DDI, GpioClx implementa diversi metodi di supporto dei driver, chiamati dal driver del controller GPIO. Questo driver implementa un set di funzioni di callback degli eventi, chiamate da GpioClx. GpioClx usa questi callback per gestire le richieste di interrupt dai pin GPIO configurati come input di interrupt e per trasferire i dati da o verso pin GPIO configurati come input e output di dati.
Per informazioni concettuali sulla scrittura di driver client GPIOClx, vedere General-Purpose Guida alla progettazione dei driver di I/O (GPIO)
IOCTLs
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION Il codice di controllo di I/O IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION consente a un client del controller di I/O per utilizzo generico (GPIO) di richiedere un'operazione di controllo del dispositivo specifica del controller. |
IOCTL_GPIO_READ_PINS Il codice di controllo di I/O IOCTL_GPIO_READ_PINS consente a un client del controller di I/O per utilizzo generico (GPIO) di leggere da un set di pin GPIO configurati come input. |
IOCTL_GPIO_WRITE_PINS Il codice di controllo di I/O IOCTL_GPIO_WRITE_PINS consente a un client del controller di I/O per utilizzo generico (GPIO) di scrivere in un set di pin GPIO configurati come output. |
Enumerazioni
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE Il tipo di enumerazione CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE indica il tipo di informazioni sull'attributo richiesto dall'estensione del framework GPIO (GpioClx) dal driver del controller GPIO. |
GPIO_CONNECT_IO_PINS_MODE L'enumerazione GPIO_CONNECT_IO_PINS_MODE indica se un set di pin di I/O per utilizzo generico (GPIO) è configurato come input o output. |
Funzioni
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS La funzione di callback dell'evento CLIENT_ClearActiveInterrupts cancella gli interrupt attivi su un set di pin di I/O per utilizzo generico (GPIO) configurati come input di interrupt. |
GPIO_CLIENT_CONNECT_IO_PINS La funzione di callback degli eventi CLIENT_ConnectIoPins apre una connessione logica a un set di pin di I/O (GPIO) per utilizzo generico e configura questi pin per le operazioni di lettura o scrittura dei dati. |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION La funzione di callback dell'evento CLIENT_ControllerSpecificFunction esegue un'operazione specifica per un particolare controller di I/O per utilizzo generico (GPIO). |
GPIO_CLIENT_DISABLE_INTERRUPT La funzione di callback degli eventi CLIENT_DisableInterrupt disabilita gli interrupt su un pin di I/O (GPIO) per utilizzo generico configurato come input di interrupt. |
GPIO_CLIENT_DISCONNECT_IO_PINS La funzione di callback dell'evento CLIENT_DisconnectIoPins chiude una connessione logica a un set di pin di I/O per utilizzo generico (GPIO) configurati per le operazioni di lettura o scrittura dei dati. |
GPIO_CLIENT_ENABLE_INTERRUPT La funzione di callback dell'evento CLIENT_EnableInterrupt abilita gli interrupt su un pin di I/O (GPIO) per utilizzo generico configurato come input di interrupt. |
GPIO_CLIENT_MASK_INTERRUPTS La funzione di callback dell'evento CLIENT_MaskInterrupts maschera interruzioni su un set di pin di I/O per utilizzo generico (GPIO) configurati come input di interrupt. |
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT La funzione di callback dell'evento CLIENT_PreProcessControllerInterrupt esegue qualsiasi pre-elaborazione di un interrupt di I/O per utilizzo generico (GPIO) che deve essere eseguito immediatamente se l'ISR è pianificato per l'esecuzione in un secondo momento. |
GPIO_CLIENT_PREPARE_CONTROLLER La funzione di callback dell'evento CLIENT_PrepareController esegue tutte le operazioni necessarie per rendere pronto l'accesso al controller di I/O per utilizzo generico (GPIO) dal driver del controller GPIO. |
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS La funzione di callback dell'evento CLIENT_QueryActiveInterrupts esegue una query sullo stato di un set di pin di I/O per utilizzo generico (GPIO) configurati come input di interrupt. |
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION La funzione di callback degli eventi CLIENT_QueryControllerBasicInformation recupera gli attributi hardware del controller di I/O (GPIO) per utilizzo generico. |
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS La funzione di callback dell'evento CLIENT_QueryEnabledInterrupts esegue una query sullo stato di un set di pin di I/O per utilizzo generico (GPIO) per determinare quali pin sono configurati come input di interrupt e abilitati per gli interrupt. |
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION La funzione di callback degli eventi CLIENT_QuerySetControllerInformation esegue una query sul driver del controller di I/O per utilizzo generico (GPIO) per il set specificato di attributi del controller GPIO. |
GPIO_CLIENT_READ_PINS La funzione di callback degli eventi CLIENT_ReadGpioPins legge un set di pin di I/O per utilizzo generico (GPIO) configurati come input di dati. |
GPIO_CLIENT_READ_PINS_MASK La funzione di callback dell'evento CLIENT_ReadGpioPinsUsingMask legge una banca di pin I/O (GPIO) per utilizzo generico. |
GPIO_CLIENT_RECONFIGURE_INTERRUPT La funzione di callback degli eventi CLIENT_ReconfigureInterrupt riconfigura un pin di I/O per utilizzo generico (GPIO) usato come input di interrupt. |
GPIO_CLIENT_RELEASE_CONTROLLER La funzione di callback degli eventi CLIENT_ReleaseController esegue operazioni necessarie quando il dispositivo controller di I/O per utilizzo generico (GPIO) non è più accessibile. |
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT La funzione di callback dell'evento CLIENT_RestoreBankHardwareContext ripristina il contesto hardware di una banca di pin di I/O (GPIO) per utilizzo generico. |
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT La funzione di callback degli eventi CLIENT_SaveBankHardwareContext salva il contesto hardware di una banca di pin di I/O (GPIO) per utilizzo generico. |
GPIO_CLIENT_START_CONTROLLER La funzione di callback degli eventi CLIENT_StartController esegue operazioni necessarie quando il dispositivo controller GPIO (General-Purpose I/O) entra nello stato di alimentazione D0. |
GPIO_CLIENT_STOP_CONTROLLER La funzione di callback dell'evento CLIENT_StopController esegue operazioni necessarie per preparare il dispositivo controller di I/O per utilizzo generico (GPIO) per uscire dallo stato di alimentazione D0. |
GPIO_CLIENT_UNMASK_INTERRUPT La funzione di callback dell'evento CLIENT_UnmaskInterrupt annulla il mascheramento dell'interrupt su un pin di I/O (GPIO) per utilizzo generico configurato come input di interrupt. |
GPIO_CLIENT_WRITE_PINS La funzione di callback degli eventi CLIENT_WriteGpioPins scrive in un set di pin di I/O (GPIO) per utilizzo generico configurati come output dei dati. |
GPIO_CLIENT_WRITE_PINS_MASK La funzione di callback degli eventi CLIENT_WriteGpioPinsUsingMask scrive in un set di pin di I/O (GPIO) per utilizzo generico configurati come output dei dati. |
GPIO_CLX_AcquireInterruptLock Il metodo GPIO_CLX_AcquireInterruptLock acquisisce un blocco di interrupt su una banca di pin nel controller di I/O (GPIO) per utilizzo generico. |
GPIO_CLX_ProcessAddDevicePostDeviceCreate Il metodo GPIO_CLX_ProcessAddDevicePostDeviceCreate passa un oggetto dispositivo framework all'estensione del framework GPIO (GpioClx). |
GPIO_CLX_ProcessAddDevicePreDeviceCreate Il metodo GPIO_CLX_ProcessAddDevicePreDeviceCreate carica le informazioni di inizializzazione in due strutture passate come parametri di input al metodo WdfDeviceCreate. |
GPIO_CLX_RegisterClient Il metodo GPIO_CLX_RegisterClient registra un driver di controller I/O (GPIO) per utilizzo generico come client dell'estensione del framework GPIO (GpioClx). |
GPIO_CLX_ReleaseInterruptLock Il metodo GPIO_CLX_ReleaseInterruptLock rilascia un blocco di interrupt sulla banca specificata. |
GPIO_CLX_UnregisterClient Il metodo GPIO_CLX_UnregisterClient rimuove la registrazione di un driver di controller GPIO (General Purpose I/O) con l'estensione del framework GPIO (GpioClx). |
Strutture
CLIENT_CONTROLLER_BASIC_INFORMATION La struttura CLIENT_CONTROLLER_BASIC_INFORMATION contiene attributi hardware E/O per utilizzo generico (GPIO) e informazioni di configurazione. |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT La struttura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT contiene una richiesta per gli attributi hardware del controller GPIO (General Purpose I/O). |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT La struttura CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT contiene un set di attributi del controller di I/O per utilizzo generico (GPIO) richiesti dall'estensione del framework GPIO (GpioClx). |
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT La struttura CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT contiene informazioni sulle funzionalità di risparmio energia di una banca di pin GPIO (General Purpose I/O). |
CONTROLLER_ATTRIBUTE_FLAGS La struttura CONTROLLER_ATTRIBUTE_FLAGS descrive gli attributi hardware del dispositivo controller di I/O per utilizzo generico (GPIO). |
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS La struttura GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS descrive un set di pin di interruzione di I/O per utilizzo generico (GPIO) da cancellare. |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS La struttura GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS descrive i buffer di input e output per un'operazione specifica del controller. |
GPIO_CLIENT_REGISTRATION_PACKET La struttura GPIO_CLIENT_REGISTRATION_PACKET contiene informazioni di registrazione che il driver del controller di I/O per utilizzo generico (GPIO) passa all'estensione del framework GPIO (GpioClx). |
GPIO_CONNECT_IO_PINS_PARAMETERS La struttura GPIO_CONNECT_IO_PINS_PARAMETERS descrive una connessione logica a un set di pin di I/O (GPIO) per utilizzo generico e specifica se configurare questi pin come input o output di dati. |
GPIO_DISABLE_INTERRUPT_PARAMETERS La struttura GPIO_DISABLE_INTERRUPT_PARAMETERS descrive un pin di interrupt di I/O per utilizzo generico (GPIO) da disabilitare. |
GPIO_DISCONNECT_IO_PINS_PARAMETERS La struttura GPIO_DISCONNECT_IO_PINS_PARAMETERS descrive un set di pin di I/O per utilizzo generico (GPIO) che devono essere disconnessi. |
GPIO_ENABLE_INTERRUPT_PARAMETERS La struttura GPIO_ENABLE_INTERRUPT_PARAMETERS specifica un pin di I/O per utilizzo generico (GPIO) e descrive gli attributi interrupt di questo pin. |
GPIO_MASK_INTERRUPT_PARAMETERS La struttura GPIO_MASK_INTERRUPT_PARAMETERS descrive un set di puntini di interruzione di I/O per utilizzo generico (GPIO) da mascherare. |
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS La struttura GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS descrive un set di pin di interruzione di I/O per utilizzo generico (GPIO) per eseguire query sui relativi stati abilitati e attivi. |
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS La struttura GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS indica quali pin di interrupt in una banca di pin di I/O (GPIO) per utilizzo generico sono abilitati. |
GPIO_READ_PINS_MASK_PARAMETERS La struttura GPIO_READ_PINS_MASK_PARAMETERS descrive un'operazione di lettura su una banca di pin di I/O (GPIO) per utilizzo generico. |
GPIO_READ_PINS_PARAMETERS La struttura GPIO_READ_PINS_PARAMETERS descrive un'operazione di lettura su un gruppo di pin di I/O (GPIO) per utilizzo generico. |
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS La struttura GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS descrive il pin di interrupt di I/O per utilizzo generico (GPIO) da riconfigurare. |
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS La struttura GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS descrive una banca di pin di I/O per utilizzo generico (GPIO) il cui stato hardware deve essere salvato o ripristinato. |
GPIO_WRITE_PINS_MASK_PARAMETERS La struttura GPIO_WRITE_PINS_MASK_PARAMETERS descrive un'operazione di scrittura su una banca di pin di I/O (GPIO) per utilizzo generico. |
GPIO_WRITE_PINS_PARAMETERS La struttura GPIO_WRITE_PINS_PARAMETERS descrive un'operazione di scrittura su un gruppo di pin di I/O per utilizzo generico (GPIO). |