怎样连接arduino101 usb

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样连接arduino101 usb相关的知识,希望对你有一定的参考价值。

参考技术A 插好usb后,在平板上面从上往下划一下,会有一个连接电脑的选项。

Arduino:禁用USB时传入的USB串行数据软管连接

【中文标题】Arduino:禁用USB时传入的USB串行数据软管连接【英文标题】:Arduino: Incoming USB serial data when USB is disabled hoses the connection 【发布时间】:2013-12-31 21:20:20 【问题描述】:

我正在为 Arduino Leonardo 写一个草图,它偶尔需要通过 USB 串行进行双向通信,并且还需要节能。为了省电,我想在不需要时禁用 USB。我可以成功地使用 power_usb_disable() 和 power_usb_enable() 来做到这一点,但前提是在禁用 USB 时没有数据发送到 Arduino。

重现问题的方法如下:我在 Leonardo 上运行以下草图,同时它连接到我计算机上的串行通信程序(我在 Linux 中尝试了 Arduino 串行监视器和 Minicom,在 Windows 中尝试了 PuTTY)。它按预期工作,打印出消息,直到我在“禁用 USB ...”消息之后输入一些内容。一旦我这样做了,我将不会收到来自 Leo 的更多数据。有趣的是,TX 和 RX LED 继续闪烁,好像一切正​​常。使连接再次正常工作的唯一方法是重置电路板。

现在,我并不关心在禁用 USB 时丢弃传入的数据,这是意料之中的......但我希望再次启用 USB 后串行连接继续正常工作。

我对 USB 串口的工作原理知之甚少,不知道如何解决这个问题。

#include <avr/power.h>

void setup() 
  Serial.begin(9600);
  delay(3000);


void loop() 
  Serial.println("USB is enabled!");
  delay(1000);

  // If I send characters here, everything is fine.

  Serial.println("Disabling USB...");
  delay(25);
  power_usb_disable();
  delay(1000);

  // If I send characters here, it hoses the USB connection somehow.

  power_usb_enable();
  delay(25);

【问题讨论】:

【参考方案1】:

我想目前这个问题的最佳答案是“不要那样做”。如果连接打开,我可以使用“if (Serial)”来安排不禁用 USB。因此,如果有人打开了串行监视器并且看起来好像他们要输入一些东西,我会启用 USB。似乎工作正常,尽管它没有解决如何在 USB 可能处于的任何状态下稳健地禁用和重新启用 USB 的基本一般问题。我仍然很想听听专家的建议。

【讨论】:

以上是关于怎样连接arduino101 usb的主要内容,如果未能解决你的问题,请参考以下文章

Arduino101/Genuino101的安装入门

用arduino servo库写机器人程序怎样调整度

Arduino101学习——Windows下环境配置

Arduino 101/Genuino101使用-第2篇

Arduino101学习笔记—— 101定时器中断

Arduino101学习笔记(十三)—— 101六轴传感器