首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibUsbDotNet无法打开设备

LibUsbDotNet无法打开设备
EN

Stack Overflow用户
提问于 2018-09-19 19:43:01
回答 2查看 1.2K关注 0票数 1

我在Win10上的Visual Studio2017中使用最新的using包。对于我的具有2个中断端点和1个bulk in端点的全速LibUsbDotNet设备,我使用Zadiq2.4实用程序安装了WinUSB驱动程序。

调用UsbDevice.AllDevices时,LibUsbDotNet可以看到我的设备。

但是,它不能使用以下命令打开我的设备:

代码语言:javascript
复制
UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(VID, PID);
UsbDevice MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);

MyUsbDevice为null,未引发异常。

我还尝试安装不同的驱动程序(libusbk和libusb-win32),但没有成功。

前段时间,我编写了一个C++应用程序来使用libusb库与我的USB设备通信,从那时起它就可以正常工作了。

有没有人可以确认libusbdotnet是工作产品?我欢迎任何如何找出问题所在的建议。谢谢。

EN

回答 2

Stack Overflow用户

发布于 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);

票数 1
EN

Stack Overflow用户

发布于 2018-10-19 01:58:19

首先使用设备管理器,输入设备,详细信息,然后使用硬件ID找到您的供应商id和产品id。

接下来,您需要下载LibUsbDotNet_Setup.2.2.8.exe并运行安装程序。在安装过程中,您应该启用过滤器并根据您的供应商id选择您的输入设备。然后,您的代码将在之后找到设备

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52405085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档