【问题标题】:Arduino: Application communication over built in USB?Arduino:通过内置 USB 进行应用程序通信?
【发布时间】:2023-03-24 07:24:02
【问题描述】:

Arduino Nano(和其他型号)在 pcb 上有一个 USB 连接器。

Arduino 应用程序(loop() 函数内的代码)能否通过内置 USB 通道与 PC/Mac 通信?

【问题讨论】:

  • 当然,拿 LUFA 项目并把它变成一堆东西并不难。我让 arduino 看起来像一个通用串行端口,这样我就可以与板上的 avr 程序通信。谷歌 arduino lufa...
  • 这是绝对可行的,下面有一些很棒的建议。请记住,许多 Arduino 板在串行(IDE 之外)问题上具有自动重置功能。我在以前的帖子中解决了这个问题:stackoverflow.com/a/10921900/1440715
  • dwelch 似乎指的是 Leonardo 等单独使用支持 USB 的 ATMEGA 的板。更传统的 Arduino 板使用专用的 USB 串行芯片,或者(在 Uno 上)一个超小型的支持 USB 的 ATMEGA,它已经配置为实现 USB 串行转换器。 Uno 上的辅助 USB ATMEGA 可以自行重新编程为不同类型的 USB 设备,也可以作为主要 ATMEGA 328p 的前端,但无需进行任何工作即可使其显示为串行,因为它已为此编程来自 Arduino 工厂的角色。

标签: embedded arduino


【解决方案1】:

This is how I have done it.您还需要将程序写入您的计算机 - 对于 POSIX 兼容操作系统,this one could help you out.

【讨论】:

    【解决方案2】:

    您发布的链接中的电路板使用 FTDI USB 转 UART 芯片; ATMega168 本身没有 USB 控制器。 FTDI 芯片的 UART 端连接到 ATMega168 的 RXD/TXD UART 引脚。所以从 Arduino 代码的角度来看,你只是在与一个 UART 驱动的串口通信。

    从 PC 端,FTDI 芯片使用 USBSER.SYS 驱动程序来模拟传统的 UART 串​​行端口(虚拟 COM 端口VCP)。您将能够在设备管理器中看到它以及它已分配给哪个 COM 端口。

    所以本质上,您只需要知道如何在 PC 和 Arduino 上进行串行端口编程,您就可以开始了。

    【讨论】:

      猜你喜欢
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      相关资源
      最近更新 更多