如何"重置"Arduino板?

dug*_*res 21 serial-port arduino reset

我已经将草图上传到Arduino Uno,其循环是这样的:

void loop(){
    Serial.println("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

所以,现在,我不能再上传任何东西了,因为IDE说"端口已经在使用".

有没有办法在没有其他程序员的情况下"重置"Arduino?

编辑:
没有其他人使用串口,​​一切都很顺利,直到我上传上一个草图.

编辑:
我发现了一些有趣的东西:

小智 24

请尝试以下方法:

  1. 准备基本的空程序(空设置,循环等)
  2. 编译它.
  3. 使用芯片上的硬件按钮重置Arduino
  4. Ctrl+ U上传您的代码.
  5. 如果不成功 - 得到3.

在引导加载程序启动程序之前有一段延迟,只需处理您的计时.当我的Arduino代码中的一个错误每500毫秒执行一次软复位时,它对我有用.

  • 我花了2个小时,但终于成功了。对我有用的是:(1)按住重置按钮。(2) 按 `Ctrl` + `U` 上传我的代码。(3) 等待提示正在上传。(4) 松开复位按钮_然后快速按下并再次松开_。 (2认同)

小智 5

我在两个Arduinos(一个Uno和一个现代设备Freeduino/USB主机板)上遇到了同样的问题,并且重置和串口使用开始之间的窗口非常小,无法上传.

我最后通过购买另一个Arduino Uno并按照这些说明构建ISP电缆来解决问题,并使用它将示例中的Bare Bones应用程序刷新到每个无法访问的板,使用Arduino IDE版本0023,按照这些说明 更改preferences.txt .(确保在编辑之前保存原始文件,以便在您获救Arduino后可以替换它.)

它需要一个快速上传来修复每个板.经过这么多的悲痛之后,这么快就解决了.您可能不想购买另一个Arduino,但请考虑以下好处:

  • 您可以覆盖Arduino上的引导加载程序以获得更多空间.
  • 一旦覆盖了引导加载程序,电路板就会更快启动.
  • 据说你可以为特殊项目编写原始AVR,但我还没有尝试过:Google for ArduinoISP
  • 它将很快修复你将来阻止的Arduinos.
  • 您现在可以安全地尝试找到防止串行端口使用在将来锁定设备的方法.

  • 最重要的是,你将有2个arduino玩:) (3认同)

Chi*_*iva 0

确保您没有从终端访问串行端口。该循环(或任何代码)不应阻止 Arduino 的编程。