【问题标题】:Android CDC ACM as deviceAndroid CDC ACM 作为设备
【发布时间】:2015-10-04 17:04:37
【问题描述】:

我必须让我的应用程序与 USB 设备通信。 此设备只能使用 CDC ACM 作为“主机”。所以,如果我是对的,我必须是“设备”。

我不知道如何实现它。找了半天,找到了很多作为“主机”进行通信的方式,但没有找到如何作为设备进行通信。

有人有代码示例或教程链接吗?

最好的问候, ATA 开发人员

【问题讨论】:

  • 主机设备是否与 Android 设备兼容?主机设备必须知道如何通信,这通常意味着设备驱动程序或通用标准协议(USB 大容量存储、串行通信等)
  • 主机有 HCC USB Host Stack 包含在“CDC ACM”主机类中

标签: android usb device cdc


【解决方案1】:

这个问题涉及 Android 作为 USB 设备 运行,因此它与 Android 作为 USB 主机 使用 Android 运行的更常见情况根本不同USB API

就成为CDC ACM设备的具体要求而言,Android设备硬件应该能够支持CDC ACM实现,但Android本身通常不支持,生产用户构建的安全模型意味着这不是什么可以由应用程序添加。

相反,您可能需要修改 Android 安装(可能在内核级别),以使其实现这种 USB 模式,而不是通常的模式。第一步是确定您是否可以实际更改设备上的 Android 安装,第二步是确定它是否使用基于“小工具”的 USB 框架或不时使用的其他方法之一时间。

另一种选择可能是找到具有两个 USB 外围设备的微控制器,并将其配置为 Android 和您的特定主机设备之间的“桥梁”。或者,您可以使用带有一个 USB 接口的设备与之通信,并使用蓝牙或 wifi 无线电与 Android 设备通信。

【讨论】:

  • 什么是桥接外围设备的示例?
  • @dazza5000 您误读了“带有两个 USB 外设的微控制器”,即 USB 引擎将是片上 MCU 的外设。零件选择问题不在主题范围内,因此请使用制造商选择矩阵在您个人喜欢使用的系列中找到合适的芯片 - 我知道那里有一些 STM32F4xx 零件有两个。不用说,这将是一个相当先进的固件项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
  • 1970-01-01
相关资源
最近更新 更多