一般用途 I/O (GPIO) 控制器
若要開發 GPIO 連接埠的驅動程式,請使用下列標頭:
GPIO 概觀
一般用途 I/O (GPIO) 控制器驅動程式會透過 GpioClx 裝置驅動程式介面 (DDI) 與 GPIO 架構延伸模組 (GpioClx) 進行通訊。 此 DDI 定義於 Gpioclx.h 頭檔中,本節會說明。 在此 DDI 中,GpioClx 會實作數個驅動程序支援方法,由 GPIO 控制器驅動程式呼叫。 此驅動程式會實作一組由 GpioClx 呼叫的事件回呼函式。 GpioClx 會使用這些回呼來管理設定為中斷輸入之 GPIO 針腳的中斷要求,以及從設定為數據輸入和輸出的 GPIO 針腳來回傳輸數據。
如需撰寫 GPIOClx 用戶端驅動程式的概念資訊,請參閱 General-Purpose I/O (GPIO) 驅動程式設計指南
IOCTLs
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION I/O 控制程式代碼可讓一般用途 I/O (GPIO) 控制器的用戶端要求控制器特定的裝置控制作業。 |
IOCTL_GPIO_READ_PINS IOCTL_GPIO_READ_PINS I/O 控制程式代碼可讓一般用途 I/O (GPIO) 控制器的客戶端從設定為輸入的一組 GPIO 針腳讀取。 |
IOCTL_GPIO_WRITE_PINS IOCTL_GPIO_WRITE_PINS I/O 控制程式代碼可讓一般用途 I/O (GPIO) 控制器的用戶端寫入設定為輸出的一組 GPIO 針腳。 |
枚舉
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE列舉類型指出 GPIO 架構延伸模組 (GpioClx) 從 GPIO 控制器驅動程式要求的屬性資訊類型。 |
GPIO_CONNECT_IO_PINS_MODE GPIO_CONNECT_IO_PINS_MODE列舉指出是否已將一組一般用途 I/O (GPIO) 針腳設定為輸入或輸出。 |
功能
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS CLIENT_ClearActiveInterrupts事件回呼函式會清除設定為插斷輸入之一組一般用途 I/O (GPIO) 針腳的作用中中斷。 |
GPIO_CLIENT_CONNECT_IO_PINS CLIENT_ConnectIoPins事件回呼函式會開啟一組一般用途 I/O (GPIO) 針腳的邏輯連線,併為數據讀取或寫入作業設定這些針腳。 |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION CLIENT_ControllerSpecificFunction事件回呼函式會執行特定一般用途 I/O (GPIO) 控制器特有的作業。 |
GPIO_CLIENT_DISABLE_INTERRUPT CLIENT_DisableInterrupt事件回呼函式會在設定為插斷輸入的一般用途 I/O (GPIO) 針腳上停用中斷。 |
GPIO_CLIENT_DISCONNECT_IO_PINS CLIENT_DisconnectIoPins事件回呼函式會關閉針對數據讀取或寫入作業所設定之一組一般用途 I/O (GPIO) 針腳的邏輯連線。 |
GPIO_CLIENT_ENABLE_INTERRUPT CLIENT_EnableInterrupt事件回呼函式會在設定為插斷輸入的一般用途 I/O (GPIO) 針腳上啟用中斷。 |
GPIO_CLIENT_MASK_INTERRUPTS CLIENT_MaskInterrupts事件回呼函式會在設定為插斷輸入的一組一般用途 I/O (GPIO) 針腳上遮罩中斷。 |
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT CLIENT_PreProcessControllerInterrupt事件回呼函式會執行一般用途 I/O (GPIO) 中斷的任何前置處理,如果 ISR 排定於稍後執行,則必須立即完成。 |
GPIO_CLIENT_PREPARE_CONTROLLER CLIENT_PrepareController事件回呼函式會執行讓 GPIO 控制器驅動程式準備好存取一般用途 I/O (GPIO) 控制器所需的任何作業。 |
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS CLIENT_QueryActiveInterrupts事件回呼函式會查詢一組設定為中斷輸入的一組一般用途 I/O (GPIO) 針腳的狀態。 |
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION CLIENT_QueryControllerBasicInformation事件回呼函式會擷取一般用途 I/O (GPIO) 控制器的硬體屬性。 |
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS CLIENT_QueryEnabledInterrupts事件回呼函式會查詢一組一般用途 I/O (GPIO) 針腳的狀態,以判斷哪些針腳都設定為中斷輸入,並啟用中斷。 |
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION CLIENT_QuerySetControllerInformation事件回呼函式會查詢 GPIO 控制器之指定屬性集的一般用途 I/O (GPIO) 控制器驅動程式。 |
GPIO_CLIENT_READ_PINS CLIENT_ReadGpioPins事件回呼函式會讀取一組設定為數據輸入的一般用途 I/O (GPIO) 針腳。 |
GPIO_CLIENT_READ_PINS_MASK CLIENT_ReadGpioPinsUsingMask事件回呼函式會讀取一組一般用途 I/O (GPIO) 針腳。 |
GPIO_CLIENT_RECONFIGURE_INTERRUPT CLIENT_ReconfigureInterrupt事件回呼函式會重新設定作為插斷輸入的一般用途 I/O (GPIO) 針腳。 |
GPIO_CLIENT_RELEASE_CONTROLLER CLIENT_ReleaseController事件回呼函式會執行一般用途 I/O (GPIO) 控制器裝置無法再存取時所需的作業。 |
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT CLIENT_RestoreBankHardwareContext事件回呼函式會還原一組一般用途 I/O (GPIO) 針腳的硬體內容。 |
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT CLIENT_SaveBankHardwareContext事件回呼函式會儲存一組一般用途 I/O (GPIO) 針腳的硬體內容。 |
GPIO_CLIENT_START_CONTROLLER CLIENT_StartController事件回呼函式會執行一般用途 I/O (GPIO) 控制器裝置進入 D0 電源狀態時所需的作業。 |
GPIO_CLIENT_STOP_CONTROLLER CLIENT_StopController事件回呼函式會執行準備一般用途 I/O (GPIO) 控制器裝置以結束 D0 電源狀態所需的作業。 |
GPIO_CLIENT_UNMASK_INTERRUPT CLIENT_UnmaskInterrupt事件回呼函式會在設定為插斷輸入的一般用途 I/O (GPIO) 針腳上解除遮罩中斷。 |
GPIO_CLIENT_WRITE_PINS CLIENT_WriteGpioPins事件回呼函式會寫入設定為資料輸出的一組一般用途 I/O (GPIO) 針腳。 |
GPIO_CLIENT_WRITE_PINS_MASK CLIENT_WriteGpioPinsUsingMask事件回呼函式會寫入設定為數據輸出的一組一般用途 I/O (GPIO) 針腳。 |
GPIO_CLX_AcquireInterruptLock GPIO_CLX_AcquireInterruptLock方法會取得一般用途 I/O (GPIO) 控制器中針腳銀行的中斷鎖定。 |
GPIO_CLX_ProcessAddDevicePostDeviceCreate GPIO_CLX_ProcessAddDevicePostDeviceCreate方法會將架構裝置對象傳遞至 GPIO 架構延伸模組 (GpioClx)。 |
GPIO_CLX_ProcessAddDevicePreDeviceCreate GPIO_CLX_ProcessAddDevicePreDeviceCreate方法會將初始化資訊載入兩個結構,這些結構會當做輸入參數傳遞至 WdfDeviceCreate 方法。 |
GPIO_CLX_RegisterClient GPIO_CLX_RegisterClient方法會將一般用途 I/O (GPIO) 控制器驅動程式註冊為 GPIO 架構延伸模組 (GpioClx) 的用戶端。 |
GPIO_CLX_ReleaseInterruptLock GPIO_CLX_ReleaseInterruptLock方法會釋放指定銀行的中斷鎖定。 |
GPIO_CLX_UnregisterClient GPIO_CLX_UnregisterClient方法會移除一般用途 I/O (GPIO) 控制器驅動程式使用 GPIO 架構延伸模組 (GpioClx) 註冊。 |
結構
CLIENT_CONTROLLER_BASIC_INFORMATION CLIENT_CONTROLLER_BASIC_INFORMATION結構包含一般用途 I/O (GPIO) 控制器硬體屬性和組態資訊。 |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT 結構包含一般用途 I/O (GPIO) 控制器的硬體屬性要求。 |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT 結構包含 GPIO 架構延伸模組 (GpioClx) 所要求的一組一般用途 I/O (GPIO) 控制器屬性。 |
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT結構包含一組一般用途 I/O (GPIO) 針腳的電源管理功能相關信息。 |
CONTROLLER_ATTRIBUTE_FLAGS CONTROLLER_ATTRIBUTE_FLAGS 結構描述一般用途 I/O (GPIO) 控制器裝置的硬體屬性。 |
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS結構描述一組要清除的一般用途 I/O (GPIO) 中斷針腳。 |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS 結構描述控制器特定作業的輸入和輸出緩衝區。 |
GPIO_CLIENT_REGISTRATION_PACKET GPIO_CLIENT_REGISTRATION_PACKET結構包含一般用途 I/O (GPIO) 控制器驅動程式傳遞至 GPIO 架構延伸模組 (GpioClx) 的註冊資訊。 |
GPIO_CONNECT_IO_PINS_PARAMETERS GPIO_CONNECT_IO_PINS_PARAMETERS 結構描述一組一般用途 I/O (GPIO) 針腳的邏輯連線,並指定是否要將這些針腳設定為數據輸入或輸出。 |
GPIO_DISABLE_INTERRUPT_PARAMETERS GPIO_DISABLE_INTERRUPT_PARAMETERS結構描述要停用的一般用途 I/O (GPIO) 插斷針腳。 |
GPIO_DISCONNECT_IO_PINS_PARAMETERS GPIO_DISCONNECT_IO_PINS_PARAMETERS 結構描述一組要中斷連線的一般用途 I/O (GPIO) 針腳。 |
GPIO_ENABLE_INTERRUPT_PARAMETERS GPIO_ENABLE_INTERRUPT_PARAMETERS 結構會指定一般用途 I/O (GPIO) 針腳,並描述此針腳的中斷屬性。 |
GPIO_MASK_INTERRUPT_PARAMETERS GPIO_MASK_INTERRUPT_PARAMETERS結構描述一組要遮罩的一般用途 I/O (GPIO) 中斷針腳。 |
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS結構描述一組一般用途的 I/O (GPIO) 中斷針腳,以查詢其啟用和作用中狀態。 |
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS 結構指出一般用途 I/O (GPIO) 針腳的銀行中,哪些中斷針腳已啟用。 |
GPIO_READ_PINS_MASK_PARAMETERS GPIO_READ_PINS_MASK_PARAMETERS結構描述一般用途 I/O (GPIO) 針腳的銀行讀取作業。 |
GPIO_READ_PINS_PARAMETERS GPIO_READ_PINS_PARAMETERS 結構描述一組一般用途 I/O (GPIO) 針腳的讀取作業。 |
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS 結構描述要重新設定的一般用途 I/O (GPIO) 中斷接點。 |
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS結構描述一組一般用途 I/O (GPIO) 針腳,其硬體狀態為儲存或還原。 |
GPIO_WRITE_PINS_MASK_PARAMETERS GPIO_WRITE_PINS_MASK_PARAMETERS 結構描述一般用途 I/O (GPIO) 針腳的銀行寫入作業。 |
GPIO_WRITE_PINS_PARAMETERS GPIO_WRITE_PINS_PARAMETERS 結構描述一組一般用途 I/O (GPIO) 針腳的寫入作業。 |