问题标签 [usb]

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 投票
7 回答
8689 浏览

embedded - 用于嵌入式设备的 USB - 设计设备驱动程序/协议栈

我的任务是为嵌入式设备编写一个设备驱动程序,它将通过 SPI 接口与微控制器通信。最终,USB 接口将用于从外部下载更新的代码并在验证阶段使用。

我的问题是,有没有人知道一个好的参考设计或文档或在线教程,其中涵盖了嵌入式系统中 USB 协议栈/设备驱动程序的实现/设计?我刚刚开始阅读 650 页的 USB v2.0 规范目前有点令人生畏。

仅供参考,我使用的微控制器是飞思卡尔 9S12。

标记

根据 Goldenmean 的 (-AD) 评论,我想添加以下信息:

1) 嵌入式设备使用自定义执行程序,不使用 COTS 或 RTOS。

2) 设备将使用中断来指示数据已准备好从设备中检索。

3) 我已经阅读了一些关于 Linux 的文档,但是由于我对 Linux 一点也不熟悉,所以目前它不是很有帮助(尽管我希望它会很快)。

4) 设计方法,至少现在,它为 USB 设备编写设备驱动程序,然后 USB 协议层 (I/O) 将驻留在设备驱动程序的顶部以解释数据。我认为这将是最好的方法,尽管我可能是错的。

编辑 - 一年后

我只是想在它们从我脑海中消失之前分享一些东西,以防我再也不会在 USB 设备上工作。在开发代码并首次启动和运行时,我遇到了一些障碍。

我遇到的第一个问题是,当 USB 设备连接到主机(在我的情况下为 Windows)时,主机发出了重置请求。USB 设备将复位并清除中断使能标志。我没有阅读足够多的文献来知道这种情况正在发生,因此我从未收到设置请求中断。我花了很长时间才弄清楚这一点。

我遇到的第二个问题是没有正确处理 Set_Configuration 的设置请求。我正在处理它,但我没有正确处理请求,因为当这个设置请求进来时 USB 设备没有发送 ACK。我最终通过使用硬件 USB 协议分析器发现了这一点。

我还遇到了其他问题,但这是我花了很长时间才弄清楚的两个最大的问题。我不得不担心的另一个问题是大端和小端,分别是飞思卡尔 9S12 与 USB 数据格式(英特尔)。

我最终构建了类似于我过去所做的 UART 设备驱动程序的 USB 设备驱动程序。我已在以下 URL 上发布了代码。

http://lordhog.wordpress.com/2010/12/13/usb-drive

我经常使用结构,因此人们可能不喜欢它们,因为它们不像使用#defines 那样具有门户(例如,MAX3420_SETUP_DATA_AVAIL_INT_REQR 0x20),但我喜欢它们,因为它使代码对我来说更具可读性。如果有人对此有任何疑问,请随时发送电子邮件,我可以尝试提供一些见解。只要您知道要专注于哪些领域,“USB Complete:开发人员指南”一书就会很有帮助。这是一个简单的应用程序,只使用了低速 USB。

0 投票
4 回答
28109 浏览

sql-server - 我可以在 USB 驱动器上安装 SQL Server 吗?

我是一名开发人员,我经常在可能的时候远程工作,而不是通勤上班。我希望能够随身携带开发数据库环境。我知道我可以远程访问数据库,但是速度很慢。我有时会在没有无线连接的地方工作。有任何想法吗?

0 投票
1 回答
1702 浏览

usb - 设置 USB 配置失败

我正在尝试使用 libusb 与 USB 设备通信,但我觉得我在比赛的第一站被绊倒了。我确切地知道我需要与之交谈的端点等,但我什至无法做到这一点。本质上,我有:

现在,我可以在调试模式下查看设备信息,我知道当前配置为 0(未初始化/重启后),并且正好有 1 个有效配置,其配置编号为 1。但是当我设置配置时到 1,我得到一个返回值 -22,它(通过 stringifier 传递)转换为“windows api 错误:错误参数。

我找不到其他人有类似的问题,这似乎是一件很简单的事情——我什至无法声明接口,或设置 alt-interface 或类似的东西,因为我必须先设置配置。我错过了什么?(如果重要:这是在 WinXP 上)

0 投票
2 回答
1205 浏览

c# - 从 Flex 与 USB 设备通话,反之亦然

我的同事面临着在 Flex 中获取用户输入并使用该数据在 USB 设备上执行命令的挑战。我们认为我们需要在机器上运行一个套接字服务器才能做到这一点。我们想发送带有字节数组等的对象,而不仅仅是字符串。

有什么可以帮助我们的吗?我们是否需要编写自己的套接字服务器,恐怕这可能需要一些时间,或者我们可以使用任何现有的远程网关,如 WebORB 或 FluorineFX,并以某种方式使用它来进行通信和序列化,也许通过将它们托管为视窗服务?

0 投票
2 回答
23661 浏览

.net - 如何检测 USB 断开连接事件?(Windows、.NET C# 应用程序)

目前我如何做到这一点是我轮询 USB 设备的屏蔽列表(专门为我正在使用的设备屏蔽),如果它在那里,我继续,如果没有,那么我通知用户设备未连接。获取USB设备列表的方法是通过一个USB外设控制器芯片厂商的.NET库提供给我的。

USB设备断开连接的某处是否有事件?

0 投票
4 回答
41694 浏览

java - 如何在 Windows 和 Java 下与 USB 设备通信?

我想在 Windows 和 Java 下与 USB 设备通信,但我找不到一个好的库来这样做。我不希望用户必须安装任何额外的硬件或设备驱动程序才能完成这项工作。也就是说,我希望能够像其他 Windows 应用程序一样与 USB 交互。

我熟悉 jUSB 和 JSR 80,但两者似乎都是死项目(至少对于 Windows)。

0 投票
4 回答
19094 浏览

windows - 通过 USB 端口发送和接收数据

我想通过 USB 端口向设备发送/接收数据(来自我的 vista pc)。是否有免费/便宜的图书馆可以做到这一点,以及这个项目的参与程度(不考虑发送或接收的内容)?

0 投票
3 回答
6759 浏览

c++ - 简单的 USB 主机堆栈

我正在尝试使用 Atmel 处理器上的 USB 主机端口连接到单个 USB 设备。我有一个内存有限且没有操作系统的嵌入式系统。我想实现一个简单的专用主机来连接单个 USB 从设备。

谁能指导我实现一个简单的 USB 主机?

处理器是 Atmel AT91SAM9261S。

0 投票
2 回答
713 浏览

usb - USB即插即用模拟

我想知道是否有一种方法可以仅通过软件模拟即插即用事件。我们正在测试驱动程序,我们想从 pnp 事件开始测试驱动程序的安装,但我们不想连接真正的打印机。

0 投票
1 回答
712 浏览

macos - Mac system_profiler 的区别

system_profiler用来查看连接到 Mac 的 USB 硬件详细信息,但是在 Mac OS X 10.4 和 10.5 上运行它之间存在一些差异。例如,在 10.5 中,各种属性的键都有一个字母前缀。更重要的是,我无法location_id在 10.4 中获取属性(在 SPUSBDataType 数据类型中)。关于为什么存在这种差异以及解决方法的任何想法?