c++ - USB 到 USB 通信

标签 c++ linux-kernel embedded linux-device-driver embedded-linux

我有一台带 USB OTG Controller 的 ARM 嵌入式机器和另外两台不带 USB OTG 的 (Intel) 嵌入式机器(仅限标准 A 型连接器)。

我想将 ARM 机器配置为主机,将其他两台机器配置为设备。

如果不创建任何网络(以太网)连接,这怎么可能?我正在使用 Linux。

最佳答案

如果没有额外的硬件,我认为你无法做到这一点,至少不能“干净地”做到这一点。

USB A 端口仅指向“上游”,即指向主机。由于您有两台想要成为设备的机器,但它们只有 A 端口,所以您有点不走运。

其中两个 USB-link cables 可能是可行的和一个集线器,如下所示:

                    +--------+
  [ ARM box OTG]----|B (hub) |
                    |        |                      
                    | A    A |
                    +--------+
                      |    |
                      |    |
[Intel box A]---[cable]    [cable]---[A Intel box]

上面,[cable] 表示直接电缆连接电缆,每个方框内的 A/B/OTG 符号表示每个方框中使用的连接器类型。 OTG端口正在A(主机)模式下使用。

注释:

  1. 我没有尝试过这个。
  2. 这需要 ARM 盒具有专用软件来驱动 DCC 电缆,因为它们实际上是有源设备。
  3. 不知道英特尔机器需要什么,可能需要更专用的软件。

关于c++ - USB 到 USB 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15027063/

相关文章:

c - 如何使用 C 系统调用和管道处理文件 I/O?

c - PIC 将 SFR 地址传递给 C 语言中的函数

embedded - IAR 初始化函数放置

c - 是否有允许我的应用程序拥有 root 权限的系统函数?

c++ - 当你有一个二维数组(在 C++ 中)时,调用析构函数的正确方法是什么?

c++ - 从 C 使用 C++ 共享库

linux - tun/tap接口(interface)理解

c++ - int main() argv 参数问题

c++ - 得到(变量)

可以在模块初始化完成之前删除 Linux 内核模块吗?