10 likes | 80 Views
電腦與通訊工程系. 前言. 監控程式. USB I/O 伺服器與監控程式關係圖. 監控程式及其執行畫面. I/O 伺服器. 使用 VC++ 設計 USB 週邊裝置圖形監控軟體 文 / 林正敏、鍾秋嬌 摘自: e 科技雜誌,三十二期,第 48-50 頁( 2003 ). 摘要
E N D
電腦與通訊工程系 前言 監控程式 USB I/O伺服器與監控程式關係圖 監控程式及其執行畫面 I/O伺服器 使用VC++設計USB週邊裝置圖形監控軟體 文/林正敏、鍾秋嬌 摘自:e科技雜誌,三十二期,第48-50頁(2003) 摘要 愈來愈多的電腦週邊產品都支援USB介面,可見其所佔地位的重要性,本文利用Visual C++來發展一套以USB為介面的I/O伺服器,此伺服器可和USB I/O裝置溝通,並提供OLE Automation的能力,讓使用者可以輕輕鬆鬆地使用Visual Basic設計圖形監控程式。 USB介面挾持即插即用和熱插拔兩大特點,使得愈來愈多的電腦週邊產品可以支援USB介面,顯然已成為電腦的主要介面之一。本文將說明如何運用Visual C++來設計具備OLE Automation能力的應用程式,微軟使用物件連結嵌入(Object Link and Embedded)技術達到資訊交換的目的,而OLE Automation技術是指可以在應用程式中呼叫已開發好的應用程式,其觀念是在視窗作業系統上有許多已開發好的應用程式,若能利用其內建的功能,例如:文書處理Word中的拼字檢查或試算表Excel的統計圖,都已經設計的相當完備了,若能善加運用,可以減少設計新程式的負擔,而且更能保證其品質。 首先,程式中宣告一個物件變數,此物件即代表前節說明的I/O伺服器,接下來在表單載入事件中呼叫CreateObject來建立一個OLE Automation物件。因此可以利用這個變數來呼叫I/O伺服器所提供的介面程式,如OutA指令輸出資料至USB I/O控制器的埠A或是InC指令讀取來自USB I/O控制器的埠C資料。 Automation 結論 由於VC++係採用文件為基礎的人機介面,因此當監控程式建立OLE Automation物件時,會觸動開啟新文件函式OnNewDocument( )的執行,在程式一開始會先呼叫父類別的OnNewDocument( ),再呼叫GetHidClassInfo( )函式來取得人工輸入裝置的資訊,利用此一資訊來呼叫GetDevicePathName( )依序取得每一個裝置的路徑名稱,然後再呼叫CreateFile( )函式來開啟該裝置,最後再呼叫CheckDevice( )來確認是否為想開啟的USB裝置。 本文說明利用以文件為基礎的VC++透過監控程式建立OLE Automation物件時,依序執行開啟新文件函式、取得人工輸入裝置資訊、開啟裝置並確認等步驟,設計一套與USB 介面裝置溝通的I/O伺服器。另外提供兩個可供外部呼叫的介面程式,監控程式只需宣告此I/O伺服器為一物件,輸入輸出則呼叫I/O伺服器所提供的介面程式即可。如此一來,以Visual Basic 設計圖形監控程式將變得非常輕鬆了。