连接由 V-USB 库供电的 libUSB 设备用于 AVR

2024-01-01

我写了一个简单的程序(基于下列的 http://codeandlife.com/2012/01/22/avr-attiny-usb-tutorial-part-1/教程)通过 USB 端口将数据从 AVR 芯片(Attiny 2313)发送到计算机,因为该设备没有内置 USB 端口,所以我使用了V-USB http://www.obdev.at/products/vusb/index.html通过软件模拟此类端口的库。

该设备按预期工作,并且我使用 C 语言将其连接起来没有任何问题libusb http://www.libusb.org/库,但是我想用Java访问它,所以我查找了libusb的java实现。我设法设置的唯一库,并且它已成功找到总线上的USB“libusb-win32 包装器” http://libusbjava.sourceforge.net/wp/.

唯一的问题是当我尝试打开它时设备抛出异常

ch.ntb.usb.USBException: No USB endpoints found. Check the device configuration
at ch.ntb.usb.Device.updateMaxPacketSize(Device.java:82)
at ch.ntb.usb.Device.initDevice(Device.java:114)

如何解决?还有其他方法吗?有什么推荐吗?

这是抛出异常的代码

Device dev = USB.getDevice((short) 0x16c0, (short) 0x05dc);
dev.open(1, 0, -1);

这是我获得的有关设备 viw USBview 的数据

Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0xFF
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x16C0
idProduct:          0x05DC
bcdDevice:          0x0100
iManufacturer:        0x01
0x0409: "[email protected] /cdn-cgi/l/email-protection"
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Low
Device Address:       0x03
Open Pipes:              0

Configuration Descriptor:
wTotalLength:       0x0012
bNumInterfaces:       0x01
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0x80 (Bus Powered )
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x00
bInterfaceClass:      0x00
bInterfaceSubClass:   0x00
bInterfaceProtocol:   0x00
iInterface:           0x00

相关问题 https://stackoverflow.com/questions/8782721/java-no-endpoint-found-but-python-works答案,但我不明白要改变什么,如果它与设备有关,如何用VUSB来完成?


以下库不支持没有端点的设备,并且不将控制端点计为端点。我通过启用另一个我不会使用的端点来解决这个问题。

要启用另一个端点,请打开以下文件usbconfig.h在 V-usb 文件夹中查找以下行并将其更改为 1。

#define USB_CFG_HAVE_INTRIN_ENDPOINT    1 //default 0

现在,您可以使用控制端点与控制消息()功能。

在这里您可以看到(通过 USBview)设备现在有一个中断端点

Endpoint Descriptor:
bEndpointAddress:     0x81  IN
Transfer Type:   Interrupt
wMaxPacketSize:     0x0008 (8)
bInterval:            0x0A
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接由 V-USB 库供电的 libUSB 设备用于 AVR 的相关文章

随机推荐

  • .Htaccess - 服务器错误

    我收到以下错误 服务器遇到内部错误 无法完成您的请求 服务器过载或 CGI 脚本中存在错误 如果您认为这是服务器错误 请联系网站管理员 错误500 184 82 228 38 2012 年 1 月 9 日星期一 02 48 12 Apach
  • python pandas 从时间序列中提取唯一日期

    我有一个包含大量日内数据的DataFrame 该DataFrame有几天的数据 日期不连续 2012 10 08 07 12 22 0 0 0 0 2315 6 0 0 0 0 2012 10 08 09 14 00 2306 4 20 3
  • 了解 Python 嵌套函数中的变量作用域

    我在Python3 7中有以下功能 def output report sheet dict 1 All 2 Wind 3 Soalr sheet name sheet dict sheet num file name f file nam
  • .div 在 Pandas (Python) 中做什么

    我对突出显示的行感到困惑 这条线到底在做什么 div 有什么作用 我试图查看文档 上面写着 数据帧和其他元素的浮动除法 二元运算符 truediv 我不太确定这意味着什么 任何帮助 将不胜感激 您可以将一个数据帧除以另一个数据帧 panda
  • 创建具有有限参数的 std::function 类型

    给定可调用函数的类型C 我想在编译时得到std function 其中的类型 具有相同的函数返回类型C 参数类型是第一个N函数的参数类型C 这意味着 对于给定类型void int char double 和给定的N 函数的类型为 N 1 g
  • C# 在 if 循环中使用未分配的局部变量

    因为我是一个该死的初学者 所以我需要一些帮助 using System using System Collections Generic using System Linq using System Text using System Th
  • Jersey 服务器发送事件 - 写入断开的连接不会引发异常

    我们使用 Jersey 服务器发送事件 SSE 来允许应用程序的远程组件侦听 Jersey Tomcat 服务器引发的事件 这很好用 然而 至关重要的是我们的服务器拥有当前连接的侦听器 我们的远程组件 的准确列表 为此 我们的服务器每五秒向
  • 获取我和其中标记的朋友的照片列表的最佳方式是什么?

    我正在做这个 fql SELECT object id pid src big src big height src big width src src height src width FROM photo WHERE pid IN SE
  • 在 Web API 中缓存数据

    我需要缓存大部分静态的对象集合 每天可能会更改 1 次 这些对象在我的 ASP NET Web API OData 服务中可用 该结果集跨调用使用 意味着不是特定于客户端调用 因此需要在应用程序级别缓存 我对 Web API 中的缓存 进行
  • 在 VB asp.net 2.0 中对数据表的行进行分组

    顾名思义 我正在尝试对数据表中的行进行分组 更详细地说 除了一个字段 列 之外 该表具有相同的行 基本上我想做的是将相同行的所有不同字段放入单个字段中 同时删除其他行 这是我当前使用的语法 Dim i As Integer Dim j As
  • 附件可以位于 MIME 的嵌套多部分中吗?

    我知道多部分电子邮件的每个部分本身都可以是多部分 附件是否仅作为顶级部分添加 还是也可以在嵌套的多部分中 例如我的意思 在这里attachment1 doc是嵌套的 而attachment2 doc将是顶级部分 multipart mixe
  • Jquery - Jquery Wysiwyg 以字符串形式返回 html

    我正在使用 Jquery Wysiwyg 编辑器 并且尝试捕获构成内容区域的 html 以存储在数据库中 有没有办法获取元素的 html 并将其保存为字符串 我的代码看起来像 ul li This is a test li ul 我想要一个
  • Jasper Reports 将绝对路径更改为相对路径?

    我是 jasper 的新手 我想在 jrxml 中编译报告并从绝对路径到相对路径导出为 pdf 目前这些代码仅在绝对路径下工作 导出为 pdf 下载网络浏览器的文件夹 Reports ConsumationReport jrxml 内的 j
  • Hadoop 2.2.0 jobtracker 未启动

    看来我没有jobtracker使用 Hadoop 2 2 0 JPS没有显示 50030端口没有人监听 也没有相关日志jobtracker在 的里面logs文件夹 这是因为 YARN 的原因吗 如何配置和启动作业跟踪器 如果你使用YARN框
  • React JS 多个提交按钮react-hook-form

    我使用react hook form进行表单验证和提交 使用单个提交类型按钮一切正常 现在我需要三个按钮 保存草稿 预览页面中的数据值 和 提交审批 我可以选择退出模式选择单选按钮 但想要具有三个按钮提交功能 这需要表单数据 为输入字段添加
  • Blackberry 10:Android 运行时和 JNI

    BlackBerry 10 Android Runtime 是否支持 JNI 我想在我的 android 应用程序中执行本机 c 代码 我想将其部署在黑莓 10 操作系统上 在我的 android 应用程序中 我使用 JNI 来处理从本机
  • 带引导程序的幻灯片放映

    我尝试用引导程序制作幻灯片 以便您滑动浏览图像 但图像没有显示 仅显示下一个和上一个按钮 我正在使用 asp net mvc5 这是jquery document ready function myModal myModal row img
  • 对 PixelFormat 感到困惑

    我很困惑像素格式 http developer android com reference android graphics PixelFormat html在安卓上 我的设备是摩托罗拉 Defy 我有两个问题 在安卓2 3上getWind
  • 使用 parquet 文件元数据创建 Hive 表

    我编写了一个 DataFrame 作为镶木地板文件 而且 我想使用镶木地板中的元数据使用 Hive 读取文件 写入 parquet write 的输出 common metadata part r 00000 0def6ca1 0f54 4
  • 连接由 V-USB 库供电的 libUSB 设备用于 AVR

    我写了一个简单的程序 基于下列的 http codeandlife com 2012 01 22 avr attiny usb tutorial part 1 教程 通过 USB 端口将数据从 AVR 芯片 Attiny 2313 发送到计