我有一个USB设备,它使用libusb WIN32驱动程序和
中断数据可以通过USB接口端点83 (在EP83中)从加速度计获得.数据采用小结尾格式,有以下字段(x、y、z、Vbat、CpuTemp)。每隔62.5ms (16 are )采集数据。有许多USB "get“和"set”报告可用(通过ep0)
如何通过.NET和C#访问这些数据?
发布于 2011-03-07 12:29:13
libusb32是通用usb驱动程序的c/c++库。它分为两层。内核模式下的底层是通用客户端驱动程序libusb0.sys + .inf文件,您可以更改它,并告诉您要上传这个通用driver.They的设备有inf-wizard.exe工具,它可以帮助您为设备创建这个.inf文件。用户空间中的上层是与libusb驱动程序对话的libusb.lib (您也可以创建静态链接)。您可以在usb.h源代码中找到它实际上定义了代码和usb (usb驱动程序)之间的接口。要访问非托管代码,您应该使用c#或c++/cli编写互操作层,或者使用由某人创建的就绪层。在这里,链接到其中一个项目,http://sourceforge.net/projects/libusbdotnet/如何使用libusb库,我建议您查看其中的一些示例。通常它就像你打开usb总线的手柄,然后通过VendorId和ProductId找到你的设备,得到它的手柄。然后对设备的端点进行写/读。
发布于 2011-03-12 04:48:31
如果它是HID设备,我建议您使用Windows的默认驱动程序- hid.dll,我使用它,它是好的。这样,您就不应该关心部署驱动程序了,反正它就在那里,您只需了解并使用它。为此,我向您推荐Jan的书USB完成,她在那里有很好的解释和示例,它是C/C++和C#的混合体,但是趋势是.net也有一个HID页面在她的网站上,在那里你可以找到你所需要的代码样本。
https://stackoverflow.com/questions/5188788
复制相似问题