Arduino陷入无限循环

时间:2011-03-12 23:12:45

标签: arduino

我的Arduino陷入无限循环,试图从引脚读取并将其打印到串行控制台。我现在无法上传任何其他程序。我该怎么做才能让芯片脱离循环?

7 个答案:

答案 0 :(得分:7)

如果您使用的是Arduino Uno,则可能需要查看 Updating the Atmega8U2 on an Uno or Mega2560 using DFU 。显然,接口固件中存在一个错误。

答案 1 :(得分:5)

移除USB连接,关闭IDE,打开IDE,打开BareMinimum,按住重置按钮,插入USB连接,从复位按钮上移开手指后每秒1/2单击上传按钮。

答案 2 :(得分:1)

重新编程接口固件(请参阅ViennaMike的回复)对我不起作用,因此我购买了另一个Arduino并将其转变为ISP程序员并覆盖了违规应用程序:

https://stackoverflow.com/a/8453576/1090713

虽然这种方法有一定的成本,但我现在有了另一种工具和未来保存Arduino的方法。

答案 3 :(得分:0)

这可能听起来很愚蠢但是如何将其与电源断开以重置MCU呢?

修改

我看到它是通过USB供电的;然后确保断开设备,移除/放电任何电池/电容器。如果没有任何效果,请关闭Arduino IDE,更改您正在使用的USB端口(有时它会发生卡住 ..),重新启动PC ..祝您好运!

答案 4 :(得分:0)

使用Avr袖珍编程器上传您的启动加载程序。这解决了MCU重置问题。 在编写无限循环时使用看门狗定时器指令,前提是您正在处理重启时要写入的关键参数。

答案 5 :(得分:0)

如果您遇到与Arduino Yun相同的问题,请尝试使用WIFI作为端口上传空草图。当我无法通过USB上传新草图时,它对我有用。

答案 6 :(得分:0)

尝试上传时,Arduino会等待一会儿。因此,您可以按住重置并按住它,直到Ide显示尝试上载。然后放手吧。

问题可能是当您单击上载时,Ide首先编译然后在进程结束时尝试上载。因此,按下重置,单击编译并立即释放重置并不总是有效,因为您过快地放弃了重置。