问题标签 [libusb-win32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

java - 使用 java-libusb 最大化吞吐量

我目前正在开发一个 USB 设备(基于微控制器的数据记录器),并希望将数据从设备收集到主机以进行可视化。libusbjava 用于 USB 数据传输。目前,我可以连接到设备并发送/接收数据。

我的问题是当我尝试以连续方式从设备连续接收数据(5.12Mb/s)时。这是发生的事情:

· 如果我尝试在 while 循环中连续收集数据,则可以实现所需的 USB 吞吐量,但绘图线程不再工作 · 如果我尝试使用计时器线程(每 1ms 640 字节)每 1ms 收集一次数据,吞吐量会受到显着影响,但绘图线程功能正常

构造我的 java 代码以实现所需的吞吐量和图形的最佳方法是什么?

0 投票
2 回答
2616 浏览

windows-8 - 在没有数字证书的 Windows 8 上安装 libusb-win32 驱动程序

我正在尝试为包含在 Windows 8 上安装 libusb-win32 的应用程序编写安装程序。

我遇到了这样一个事实,即 Windows 8 要求驱动程序包具有 CAT 文件,但我没有数字证书。

在我的情况下,禁用 Windows 8 上的数字签名检查或使用 Zadig 的选项没有用。

那么,是否可以在没有数字证书的情况下在 Windows 8 上使用 libusb-win32 呢?

0 投票
1 回答
2627 浏览

java - 连续读取传入数据(usb4java)

我花了相当多的时间试图找出使用 usb4java (Libusb) 的低级函数连续读取大量数据的最佳方法。

在全速设备中,我需要读取的数据量是 640kbyte/s,理论上是可能的,而且我应该使用不到一半的可用带宽。我遇到的问题是我正在读取的数据有可能来自丢失或损坏的数据的故障。

我已经尝试过同步和异步,结果相似。在这里,我发布了我在异步模式下用来执行此操作的代码,不胜感激。

0 投票
1 回答
1318 浏览

python - pyusb ValueError:没有后端可用的条形码扫描仪

我正在尝试使用 pyusb 和 pyusb-keyboard-a-like 接管条形码扫描仪。我有一个运行win7的系统。我已经安装了带有libusb-win32过滤器和 inf-wizard 的 USB 驱动程序。我的代码如下所示:

并给我以下错误:

我该如何解决这个错误?

0 投票
0 回答
116 浏览

android - Windows/Linux/Mac:连接时检测 Android(作为附件)

我希望能够检测到 Android 设备何时连接到计算机。

由于“Android”是一组具有不同供应商/产品 ID 的设备,我们如何通过 USB 连接识别产品是否是 Android 设备?

更糟糕的是,Android 设备类也可能不同(手机、平板电脑、相机等)

对于它的价值,我使用的是 libusb-win32(基于 libusb-0.1)

0 投票
0 回答
1031 浏览

c# - CC2538 - 使用 libusb-win32 发送/接收批量数据

简而言之,我的总体目标是:我想通过 USB 将批量数据从我的 CC2538EM 发送到 PC。并且应该使用 C# 应用程序读取数据。

由于我无法安装 TI 的“CC2538 固件基础”(链接)的 CDC 驱动程序,我决定尝试使用 libusb-win32(以及用于 MS Visual Studio 的 LibUsbDotNet)。

但是我从主机和设备写入的数据都无法读取或写入。

USB 描述符:

};

我以这种方式在设备上读/写的数据:

}

对于主机,我使用了 LibUsbDotNot 读/写示例:

至今:

  • 可以设置配置#1
  • 可以声明接口#1
  • endpointInfo 显示,即正确选择了端点

但尝试在 C# 应用程序中读/写总是会导致“IOTimedOut”错误。

所以我想知道我可能做错了什么,是否有可能使 cc2538 与 libusb-win32 一起工作。

提前感谢您的帮助。

0 投票
0 回答
94 浏览

visual-c++ - libusb_config_descriptor 在 Windows 上返回负值

我正在尝试使用 VC++ 和 LibUSB 的 Windows 后端获取 Windows 系统上所有 USB 设备的列表。但似乎libusb_get_config_descriptor(dev, 0, &config); 返回一个负值。

为什么会这样?

0 投票
2 回答
1500 浏览

python-2.7 - PyUSB ValueError:Windows 7 上没有可用的后端。Windows 正在检测设备,而 pyusb 未检测到

我已经尝试了所有可能的方法,但无法解决这个错误。有人解决了这个问题吗?

我得到的错误是:

在它没有显示任何此类问题之前,它最近显示了该错误。尝试在目录 C:\Python27 中包含 libusb0_x​​86.dll 但仍然显示错误。我还为设备驱动程序安装了 libusb-win32 inf 向导。请这里的任何python专家帮助我解决这个错误。

0 投票
1 回答
792 浏览

java - USB4Java 是 libusb 1.0 还是 0.1 的包装器?是否推荐用于新的 Java 开发?

我正在尝试找到将 USB 设备与 java 一起使用的正确方法。StackOverflow 的大部分帖子都推荐使用 usb4java,它的最新活动似乎是在 2014 年初,所以我不确定它是否仍然处于活动状态。

无论如何,深入研究一下,在页面上,它说“它基于本地 libusb 1.0 库”。然后尝试安装设备驱动程序,我按照推荐使用了 Zadig(https://github.com/libusb/libusb/wiki/Windows#How_to_use_libusb_on_Windows)。

我通过使用“libusb-win32”驱动程序让 usb4java 工作。但是当你访问“libusb-win32”网站时,它会提到“libusb-win32 是 USB 库 libusb-0.1 的一个端口”,并且更多内容在这里http://libusb.org/wiki/APIs#libusb -0.1legacyAPI中提到“开发状态:libusb-0.1 已弃用,不会有进一步的更改或发布”</p>

这一切都非常令人困惑,所以首先我想知道 USB4Java 是使用 libusb 1.0 还是 0.1。而且它是否推荐用于任何新的开发或将要走的路,似乎没有太多支持使用 JAVA 的 USB 设备。

更新:

谢谢干员。很好的解释。我将 usb4java 与 libusb-win32 结合使用的问题是延迟。我的事务每 10 毫秒发生一次,而且我不能丢失数据,这就是为什么我必须开始缓冲并且我有 15 个缓冲区,所以我的最大延迟将是 150 毫秒。在长时间使用 libusb-win32 评估 usb4java 时(几小时),我看到有时我的延迟超过 1s。我确实尝试过 WinUSB,但由于某种原因,我得到了:

既然你提到它可能更可靠,我会试一试,我会尝试修复它。

顺便说一句:当我尝试在下面的代码中提交传输 (LibUsb.submitTransfer(transfer);) 时,会发生访问冲突。

0 投票
2 回答
2918 浏览

java - 使用 usb4java 向 USB 设备发送消息 - 输入/输出错误

我正在尝试使用以下代码向我的 USB 设备(Silicon Labs USB-UART Bridge)发送消息:

当我执行它时:

我得到这个错误:

但是我的 readMessage 没有收到错误消息,有人知道为什么会这样或有提示吗?

提前致谢!

编辑:当我将端点更改为 0x01 时代码有效,但那个是 EP 1 OUT,0x81 是 EP 1 IN,所以我应该在哪里发送消息?

编辑 2: readMessage 的代码: