一、如何管理USB設備
由于我們的驅動程序采用面向對象編程,所以要使用設備的一切功能,則必須首先用CreateDevice函數創(chuàng)建一個設備對象句柄hDevice,有了這個句柄,您就擁有了對該設備的控制權。然后將此句柄作為參數傳遞給其他函數,如InitDeviceDA可以使用hDevice句柄以初始化設備的DA部件并啟動DA設備,WriteDeviceDA函數可以用hDevice句柄實現對DA數據的連續(xù)輸出,SetDeviceDO函數可用實現開關量的輸出等。最后可以通過ReleaseDevice將hDevice釋放掉。
二、如何批量輸出DA數據
當您有了hDevice設備對象句柄后,便可用InitDeviceDA函數初始化DA部件,關于頻率等參數的設置是由這個函數的pDAPara參數結構體決定的。您只需要對這個pDAPara參數結構體的各個成員簡單賦值即可實現所有硬件參數和設備狀態(tài)的初始化,然后執(zhí)行EnableDeviceDA這個函數來啟動DA設備。接著便可用GetDeviceStatusDA反復跟蹤DA的FIFO狀態(tài),以實現連續(xù)不間斷輸出,當您需要停止DA設備時,同樣調用EnableDeviceDA便可幫您實現(但設備對象hDevice依然存在)。具體執(zhí)行流程請看下面的圖2.1.1。
注意:圖中較粗的虛線表示對稱關系。如紅色虛線表示CreateDevice和ReleaseDevice兩個函數的關系是:最初執(zhí)行一次CreateDevice,在結束是就須執(zhí)行一次ReleaseDevice。
五、哪些函數對您不是必須的?
當公共函數如CreateFileObject, WriteFile,ReadFile等一般來說都是輔助性函數,除非您要使用存盤功能。它們只是對我公司驅動程序的一種功能補充,對用戶額外提供的。
|