2011-03-04 62 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,在那里你可以找到代码您只需要样品。