是什么导致Arduino不断重启?

时间:2014-03-25 21:59:54

标签: arduino

我有一个带有3g屏蔽的Arduino Uno,并且在引脚6,7和usb端口上使用软件串口进行调试。经过好几天,现在我的程序似乎一遍又一遍地开始(我看到这要归功于setup函数中的println) - 老实说,我添加了一些代码。 有关可能原因的任何建议吗?

7 个答案:

答案 0 :(得分:2)

因为您使用带有SoftwareSerial的引脚6和7,所以串行连接启动时的自动复位不适用。 如果在USB上连接使用“标准”0和1引脚

这种错误在很多情况下都会发生,通常是硬件相关的(连接的硬件使用太多的电流,你使用的是外接充电器还是usb的电源?)或因为你没有使用RAM。检查您是否有Available Memory

你添加了什么代码?你说你在C#中经历过,所以你有没有想过清理你的垃圾? C / C ++没有agarbage收集器爸爸为你做那件事

答案 1 :(得分:1)

当usb端口重新初始化时,Arduino将重置(读取:usb cable replugged),这可能是由于主机睡眠,重新启动或其他东西,例如整个usb控制器重​​新启动,因为另一个usb设备已插入英寸

答案 2 :(得分:0)

使用看门狗定时器解决上述问题。使用串行监视器进行调试时,请记住每次启动控制器时都要重新初始化

答案 3 :(得分:0)

Arduino的内存要少得多,所以如果有意或间接地递归调用函数,你可能会耗尽内存。

如果你使用了很多字符串,它也可以使用你所有的记忆。

你可以分而治之,具体确定导致重置的例程吗?

我首先评论主循环的一半,看看它是否仍然重置?

答案 4 :(得分:0)

当我遇到这个问题时,我发现它与我手机的索尼软件有关。转动软件在我的电脑上解决了它,从那以后我的Arduino就开心了。

找到解决方案here

  

我的案例的罪魁祸首是索尼爱立信软件试图识别USB设备是否是手机。禁用此功能可以解决问题。故事的寓意是,在您进行Arduino开发时,不要运行任何使用USB的软件。如果需要,可以在完成开发后禁用重置功能。<​​/ p>

答案 5 :(得分:0)

我遇到了同样的问题,我的问题是在arduino 5v输出上有10个传感器。我使用5v调节器将其中的5个改为separeted power,并且一切都很好。

答案 6 :(得分:0)

电源调节器可能过热并且正在关闭。将一小块金属放在它上面作为散热器可能会解决问题。