1 / 1

Dim Capabilities As HIDP_CAPS Private Sub GetDeviceCapabilities() Dim PreparsedData As Long

電腦與通訊工程系. 前言. 輸出入函式. 尋找人工輸入裝置. 使用 VB 設計 USB 週邊裝置圖形監控軟體 文 / 林正敏、江孟儒 摘自: e 科技雜誌三十四期,第 33-35 頁( 2003 ). 摘要 USB 裝置愈來愈普及,也促使設計 USB 產品的重要性,本文即說明如何使用 VB 來呼叫 USB 標準人工輸入裝置的介面函式來設計圖形監控軟體。首先,說明如何找到人工輸入裝置,再來設計專屬的輸出入函式,最後使用二進位燈號顯示控制程式當成應用的範例。.

jon
Download Presentation

Dim Capabilities As HIDP_CAPS Private Sub GetDeviceCapabilities() Dim PreparsedData As Long

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 電腦與通訊工程系 前言 輸出入函式 尋找人工輸入裝置 使用VB設計USB週邊裝置圖形監控軟體 文/林正敏、江孟儒 摘自:e科技雜誌三十四期,第33-35頁(2003) 摘要 USB裝置愈來愈普及,也促使設計USB產品的重要性,本文即說明如何使用VB來呼叫USB標準人工輸入裝置的介面函式來設計圖形監控軟體。首先,說明如何找到人工輸入裝置,再來設計專屬的輸出入函式,最後使用二進位燈號顯示控制程式當成應用的範例。 人類因科技的發達生活的富裕,對於日常生活的便利性也有更高的要求,各項監控設備及軟體也孕育而生。以前的電腦監控設備方式,較常見是裝置ISA或PCI控制板以IC8255進行擴充控制,若不以插控制板方式控制,則有以Parallel Port (LPT Port)或Serious Port (COM Port)進行資訊傳輸,但也因傳輸距離及速度而有所限制,且若於初始啟動電腦時傳輸設備未插上,資訊控制亦不能進行;然而於現今視窗作業系統中最常見的標準輸入裝置是人工輸入裝置,而USB則是目前最流行的介面之一。 USB介面不但接線簡單,且支援即插即用(Plug and Play),並可進行熱插拔(Hot Attach and Detach),在傳輸速度上最高更可達480Mbps,因此用於即時(Real Time)監控是非常恰當的介面,本文也因USB有這許多優點,且配合VB圖形化寫作的特性而完成。 Dim Capabilities As HIDP_CAPS Private Sub GetDeviceCapabilities() Dim PreparsedData As Long '傳回一個具有關於該裝置功能的緩衝區的指標 HidD_GetPreparsedData HidDevice, PreparsedData '取得裝置的能力 HidP_GetCaps PreparsedData, Capabilities End Sub Private Sub ReadDevice() Dim NumberOfBytesRead As Long Dim ReadBuffer() As Byte '根據設備輸入文件的大小調整接收緩衝區大小 ReDim ReadBuffer(Capabilities.InputReportByteLength - 1) '讀取裝置的內容 ReadFile HidDevice, ReadBuffer(0), Capabilities.InputReportByteLength, _ NumberOfBytesRead, 0 End Sub Private Sub WriteDevice() Dim NumberOfBytesWritten As Long '輸出資料到裝置 WriteFile HidDevice, OutputData(0), CLng(Capabilities.OutputReportByteLength), _ NumberOfBytesWritten, 0 End Sub 要和USB I/O裝置建立溝通模式,首先必須先找到此一裝置,由於我們使用人工輸入裝置來設計I/O控制器,因此必須先呼叫HidD_GetHidGuid來取得人工輸入裝置的全域唯一描述符(GUID),此描述符是微軟用來標示元件物件模型物件和介面,對每個物件或介面而言,其代表的描述符是唯一的,用來代表物件的代碼,我們也可以使用登錄編輯程式(regedit.exe)來取得,其GUID為【4d1e55b2-f16f-11cf-88cb001111000030】。取得GUID之程式如下: Dim HidGuid As GUID '儲存HID全域唯一描述符(GUID) HidD_GetHidGuid HidGuid '尋找HID的全域唯一描述符(GUID) 結論 本文說明如何利用VB來設計USB I/O控制程式,此一程式的特色為不需要額外自訂的動態連結函式 ,而採用標準的動態連結函式HID.DLL,而且設計輸出入專用函式,可以簡化設計USB I/O裝置的程式。

More Related