问题标签 [usb-hostcontroller]

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 回答
713 浏览

raspberry-pi - 树莓派 3 USB 裸机

我正在裸机环境(32 位)中开发新的 Raspberry Pi 3 B+ 板。我有一个适用于较旧的 Pi 1 板的 USB 驱动程序。据我了解,Pi 1 和 Pi 3 B+ 具有相同的 USB 主机控制器(Synopsis DesignWare 2.0 USB 主机控制器;或简称 dwc),但适用于 Pi 1 的 USB 驱动程序不适用于我Pi 3 B+(或 Pi 3 B)。

经过一些调试消息后,我发现问题是当DWC枚举设备时,它会尝试读取设备描述符,我猜是板载USB集线器/以太网设备(LAN7515) ,但它会返回传输错误,因此无法枚举设备。

我的问题是为什么会发生这种情况?如果 Pi 1 和 Pi 3 具有相同的主机控制器,那么理论上它至少应该能够正确枚举设备。

如果有人能指出我为什么会发生这种情况的正确方向,将不胜感激。

先感谢您。

0 投票
1 回答
136 浏览

usb - 请求描述符时 USB 集线器停止

我从一个 Atmel Start项目开始:

我的目标是将 USB 集线器连接到此演示板: SAM V71 Xplained Ultra 评估套件

问题是 atmel 不提供集线器驱动程序,并且他们没有回答我们关于此的问题。所以我一直在尝试根据他们提供的 msc 和其他驱动程序编写一个。

目前我在连接 USB 集线器时遇到问题。当我发送一个 DEVICE 类型的 GET_DESCRIPTOR 请求时,它返回一个 STALL。这对我来说似乎很奇怪,因为其他 USB 设备(例如闪存驱动器或 USB 到串行转换器)不会对相同的请求回复 STALL。事实上,闪存驱动器经历了整个枚举过程和 msc 安装,以便我可以成功读取和写入驱动器。

我正在通过管道处理程序的 STALL 处理部分中设置的单个断点检测失速。

我一直在阅读通用串行总线规范 Rev 2.0,但我找不到从集线器与其他设备读取描述符的方式之间的任何区别。而且我不明白为什么会发送一个 STALL 来回复 GET_DESCRIPTOR 请求。

谢谢

0 投票
1 回答
1021 浏览

android - 如何在 android 中检查或匹配 InputDevice deviceid 和 UsbDevice deviceid?

我正在获取所有附加设备列表.. 带有 ID

当我匹配 InputDevice ID 和 UsbDevice Id 时,我得到不同的 ID。

注意:我得到了所有正确的信息,如产品名称、供应商 ID 等。

但我的问题是我的板上连接了多个鼠标。我无法获取单击了哪个鼠标。

我的鼠标点击代码

我在这里得到不同的设备 ID。

我怎样才能知道点击了哪个鼠标

0 投票
0 回答
287 浏览

android - Android/IOS 手机上的 STM32 USB Host 插件通知

我已经在 STM32F4 Discovery 板上成功开发了 USB Host/USB OTG 固件,并通过 Android 应用成功测试了与手机的串行通信。我正在尝试将我的发现板连接到 Android 手机的自定义通知。

是否有可以在 Android 手机上触发自定义通知的消息格式?

0 投票
1 回答
577 浏览

vhdl - 用于 DE10 标准 FPGA 的 USB 主机控制器 (Altera Cyclone V SoC)

我正在寻找一个 USB 主机控件来连接 USB 键盘和 PS 游戏控制器来控制在 FPGA 上完成的程序功能(游戏)。

我在 DE10 平台上用 VHDL 构建了一个简单的游戏,目前使用连接到 PS/2 接口的键盘进行控制(以及我在网上找到的 VHDL 控制器)。希望通过连接 USB 键盘和 PS 游戏控制器来扩展游戏控制,但我不知道如何在 VHDL 中构建 USB 主机控制器/找到现有的。

想知道是否存在 VHDL/BSF/BDF 格式的现有 USB 主机控制器,我可以用来连接 USB 设备并获取解码信息,或者我是否在我的头上。

谢谢!

0 投票
1 回答
503 浏览

android - 如果活动已经打开,如何停止从连接的 USB 设备打开 Android 活动?

我正在使用 Android USB 主机并打算在设备连接到手机时打开应用程序。但是,如果应用程序已打开,我不希望它再次打开。

以下是清单文件中的相关代码:

如果应用程序已经打开,我有可以检测设备的 Java 代码,因此无需再次打开应用程序。在实践中,这只是一个烦恼。该应用程序已打开,并在其顶部打开另一个“副本”。

0 投票
1 回答
443 浏览

stm32 - 设置STM32Fxx Discovery为USB Host并获取鼠标数据

我想问一下如何通过STM32F 407获取鼠标数据。我不想将其发送到PC。我的微控制器应该是 USB HOST,鼠标只与微控制器通信。我搜索了很多,但我只找到了 HID 的示例项目,并且在项目中微控制器假装像鼠标一样向 PC 发送数据。

0 投票
2 回答
560 浏览

java - 安卓到安卓数据传输使用usb

我创建了一个通过 wifi 将数据从 android 传输到 android 的应用程序。我正在探索 USB 主机 API 以添加对通过 USB 传输数据的支持。我正在关注主机 API 的 android 文档

https://developer.android.com/guide/topics/connectivity/usb/host

并遵循所有步骤。到目前为止,我能够授予所选设备的权限让我们说电话“A”并成功打开 USB 设备以写入数据,但我不知道如何在其他电话“B”上创建/访问 USB 设备?我看到其他手机没有收到有关 USB 连接/未连接事件的通知。当我添加“android.hardware.usb.action.USB_STATE”时,另一方会收到事件更改的通知,但我不知道如何获取/访问手机“B”上的 usbdevice 对象以初始化读/写数据?当前的主机协议是单边协议吗?在这方面的任何帮助将不胜感激。

0 投票
1 回答
205 浏览

android - 微型 USB 主机中的 Android CDC 通信以从设备读取

我正在尝试在 IMX 板和 android 选项卡之间实现 CDC 通信。我看过一些教程和库,但都是通过 OTG 电缆完成的。我需要通过在 IMX 上连接 USB 并将 micro USB 直接连接到 android 选项卡(不带 OTG 电缆)来实现通信。过去几天,我对此感到震惊。我从 developer.android.com 尝试了 USB Host api 的示例代码,但它没有检测到我的设备。

请帮我解决这个问题。

提前致谢。

0 投票
1 回答
401 浏览

embedded - STM32F769NI USB CDC主机问题向设备发送简单数据

我正在为一些数据采集系统制作 HID。有很多传感器存储测试数据,当我需要时,我可以找到它们并通过 USB 连接并获取它。USB 主机发送 3 个字节,如果字节正确,USB 设备发送其存储的数据。听起来很简单。

以前是在PC上实现的,但现在我尝试在STM32F769 Discovery上实现它,遇到了一些严重的问题。我正在使用 ARM Keil 5.27,使用 STM32CubeMX 5.3.0 生成的代码。我试着做一个简单的程序,然后与整个触摸屏界面集成。我试图在 main 中实现这段代码:

以及函数本身:

在我按下 Discovery 板上的蓝色按钮后,它应该会发送消息。我得到的只是硬故障。在尝试调试时,我尝试手动检查在哪个操作之后出现此错误并且它在 stm32f7xx_ll_usb.c 中运行:

但是试图在反汇编中回滚我注意到,就在硬故障程序在 stm32f7xx_hal_hcd.c 内的这个函数中之前,以防 GRXSTS_PKTSTS_IN:

Dissasembly 的最后几行显示:0x080018B4 E8BD81F0 POP {r4-r8,pc} 0x080018B8 0000 DCW 0x0000 0x080018BA 1FF8 DCW 0x1FF8

为什么会失败?我该如何解决?我对USB协议没有太多经验。