一、如何管理USB設備
由于我們的驅動程序采用面向對象編程,所以要使用設備的一切功能,則必須首先用CreateDevice函數(shù)創(chuàng)建一個設備對象句柄hDevice,有了這個句柄,您就擁有了對該設備的控制權。然后將此句柄作為參數(shù)傳遞給其他函數(shù),如InitDeviceDA可以使用hDevice句柄以初始化設備的DA部件并啟動DA設備,WriteDeviceDA函數(shù)可以用hDevice句柄實現(xiàn)對DA數(shù)據(jù)的連續(xù)輸出,SetDeviceDO函數(shù)可用實現(xiàn)開關量的輸出等。最后可以通過ReleaseDevice將hDevice釋放掉。
二、如何批量輸出DA數(shù)據(jù)
當您有了hDevice設備對象句柄后,便可用InitDeviceDA函數(shù)初始化DA部件,關于頻率等參數(shù)的設置是由這個函數(shù)的pDAPara參數(shù)結構體決定的。您只需要對這個pDAPara參數(shù)結構體的各個成員簡單賦值即可實現(xiàn)所有硬件參數(shù)和設備狀態(tài)的初始化,然后執(zhí)行EnableDeviceDA這個函數(shù)來啟動DA設備。接著便可用GetDeviceStatusDA反復跟蹤DA的FIFO狀態(tài),以實現(xiàn)連續(xù)不間斷輸出,當您需要停止DA設備時,同樣調(diào)用EnableDeviceDA便可幫您實現(xiàn)(但設備對象hDevice依然存在)。具體執(zhí)行流程請看下面的圖2.1.1。

注意:圖中較粗的虛線表示對稱關系。如紅色虛線表示CreateDevice和ReleaseDevice兩個函數(shù)的關系是:最初執(zhí)行一次CreateDevice,在結束是就須執(zhí)行一次ReleaseDevice。
五、哪些函數(shù)對您不是必須的?
當公共函數(shù)如CreateFileObject, WriteFile,ReadFile等一般來說都是輔助性函數(shù),除非您要使用存盤功能。它們只是對我公司驅動程序的一種功能補充,對用戶額外提供的。
|