2011-03-04 117 views
0

我有,它使用的libusb WIN32驅動程序和讀取USB中斷數據

中斷數據是可從加速度計 通過USB-HID 接口端點83(在EP83)的USB設備。數據 與 以下字段(x,y,z,Vbat,CpuTemp)的格式很少。 數據每62.5ms(16Hz)採集一次。 有一些USB的HID 「get」 和 「設置」 可以(通過EP0)報告

如何通過.NET和C#訪問這些數據?

+0

請參閱http://stackoverflow.com/questions/tagged/libusb? – 2011-03-04 01:54:50

+0

@John,你的照片是?看起來東方 – Amy 2011-03-04 07:46:00

+0

@Inuyasha:來自(取消)電視連續劇。我明白這意味着像「寧靜」,或「心靈的平靜」。 – 2011-03-04 17:13:42

回答

0

libusb32是通用usb驅動程序的c/C++庫。它有兩層。內核模式下的低層是您更改的通用客戶端驅動程序libusb0.sys + .inf文件,它告訴上傳此通用USB驅動程序的設備。它們具有inf-wizard.exe工具,可幫助您創建此.inf文件爲您的設備。用戶空間中的上層是與libusb驅動程序交談的libusb.lib(您也可以創建靜態鏈接)。你可以在源代碼usb.h中找到實際定義你的代碼和usb(usb驅動程序)之間的接口。要訪問非託管代碼,或者您應該在c#或C++/cli中編寫interop層,或者使用由某人制作的ready層。這裏鏈接到其中一個項目,http://sourceforge.net/projects/libusbdotnet/ 如何使用libusb庫我建議你看看他們的一些例子。通常它就像你打開處理USB總線,然後找到你的設備VendorId & ProductId,得到它的處理。然後進行寫入/讀取到設備的端點。

0

如果是HID設備,我建議您使用Windows的默認驅動程序 - hid.dll,我使用它並且沒問題。這種方式你不應該關心部署驅動程序,無論如何,你只需要瞭解API並使用它。爲此,我建議你Jan Axelson的書USB Complete,她有很好的解釋和樣本,它是C/C++和C#的混合體,但趨勢是.net她的網站上還有一個HID Page,在那裏你可以找到代碼您只需要樣品。