一般用途 I/O (GPIO) 控制器
一般用途 I/O (GPIO) 控制器驅動程式會透過 GpioClx 裝置驅動程式介面 (DDI) ,與 GPIO 架構延伸模組 (GpioClx) 通訊。 此 DDI 定義于 Gpioclx.h 標頭檔中,本節將說明。 在這個 DDI 中,GpioClx 會實作數個驅動程式支援方法,這些方法是由 GPIO 控制器驅動程式呼叫。 此驅動程式會實作一組由 GpioClx 呼叫的事件回呼函式。 GpioClx 使用這些回呼來管理已設定為中斷輸入的 GPIO 針腳中斷要求,以及從設定為資料輸入和輸出的 GPIO 針腳傳送資料。
如需撰寫 GPIOClx 用戶端驅動程式的概念資訊,請參閱 一般用途 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事件回呼函式會執行讓一般用途 I/O (GPIO) 控制器可供 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 當一般用途 I/O (GPIO) 控制器裝置無法再存取時,CLIENT_ReleaseController事件回呼函式會執行所需的作業。 |
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 當一般用途 I/O (GPIO) 控制器裝置進入 D0 電源狀態時,CLIENT_StartController事件回呼函式會執行所需的作業。 |
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 結構包含一組一組一般用途 I/O (GPIO) 控制器屬性,GPIO 架構延伸模組 (GpioClx) 。 |
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) 針腳的寫入作業。 |