我在Win10上的Visual Studio2017中使用最新的using包。对于我的具有2个中断端点和1个bulk in端点的全速LibUsbDotNet设备,我使用Zadiq2.4实用程序安装了WinUSB驱动程序。
调用UsbDevice.AllDevices时,LibUsbDotNet可以看到我的设备。
但是,它不能使用以下命令打开我的设备:
UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(VID, PID);
UsbDevice MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);MyUsbDevice为null,未引发异常。
我还尝试安装不同的驱动程序(libusbk和libusb-win32),但没有成功。
前段时间,我编写了一个C++应用程序来使用libusb库与我的USB设备通信,从那时起它就可以正常工作了。
有没有人可以确认libusbdotnet是工作产品?我欢迎任何如何找出问题所在的建议。谢谢。
发布于 2019-04-19 22:25:32
这是UsbDeviceFinder中的一个错误,其中使用int.MaxValue而不是null来忽略一个值。这使得UsbDeviceFinder不可用,并且所有使用它的示例都不起作用。
解决方法是使用
MyUsbDevice = context.Find(device => device.ProductId == ProductId && device.VendorId == VendorId);
而不是
MyUsbDevice = context.Find(MyUsbFinder);
发布于 2018-10-19 01:58:19
首先使用设备管理器,输入设备,详细信息,然后使用硬件ID找到您的供应商id和产品id。
接下来,您需要下载LibUsbDotNet_Setup.2.2.8.exe并运行安装程序。在安装过程中,您应该启用过滤器并根据您的供应商id选择您的输入设备。然后,您的代码将在之后找到设备
https://stackoverflow.com/questions/52405085
复制相似问题