我只是和儿子一起学习Arduino的修补匠,当我将USB线重新插入Arduino时,程序仍在运行,我感到很惊讶,我对自己说:“这是一件好事,我不仅吹了什么东西起来。”
那么,人们每天用这些东西称呼它的正常方式是什么?您通常会加载裸机,什么都不做,还是只是拔掉所有插头?
我只是和儿子一起学习Arduino的修补匠,当我将USB线重新插入Arduino时,程序仍在运行,我感到很惊讶,我对自己说:“这是一件好事,我不仅吹了什么东西起来。”
那么,人们每天用这些东西称呼它的正常方式是什么?您通常会加载裸机,什么都不做,还是只是拔掉所有插头?
Answers:
启动后,Arduino将运行最后放置在其上的任何程序。解决方案:如果您不希望它运行,请不要打开它。
开箱即用时,Arduino通常运行Blink程序。因此,如果您要“重置”它,则可以加载它并命名为“ day”。
或者使用带有sleep命令的循环程序。
如果您已经通过icsp引脚弄乱了USB引导程序,那还不够,您需要重新安装引导程序。但是,如果您一直是通过USB或直接使用编程器来上传程序,则上传Blink或其他虚拟程序来重置它没有问题。
如果安全是主要考虑因素,那么您应该几乎每天都将stop *草图加载到板上。例如,当您的电路板半永久性地成为大型系统的一部分时,这将是一个好主意。您可以这样做:
#include <limits.h>
void setup()
{}
void loop()
{
delay(ULONG_MAX);
}
exit()
从setup()
(感谢@Peter! )void setup()
{
exit(0);
}
void loop()
{}
*停止只是象征性的。董事会并没有真正停止运行。
exit()
从setup()
或内部调用获得类似(且更永久)的效果loop()
吗?
void setup () { } void loop () { }
-在任何情况下,处理器内部都在“无用”。
可能会出错的主要问题是,如果您将Arduino放在旁边几周,而忘记在其上加载了什么草图(代码),然后又重新开始工作,插入硬件(如开关,LED或电机) ),并使其意外点亮/打开,因为先前的代码处理了它所连接的引脚。
一种简单而安全的技术是在插入任何硬件之前加载当前正在使用的新代码。现在您知道该代码的用途,其使用的引脚,然后再插入硬件(最好打开Arduino)请先拔掉电源)。
然后,当您重新连接电源时,它会运行您上传的草图,您的硬件已连接,并且一切都很好。
您可以上传以下简短草图:
int main () { }
它“什么都不做”。所有引脚将保留为输入,因此您可以安全地连接硬件,然后开始对新项目进行编码。
一个好的规则是不要在通电的情况下插拔硬件(例如,LED,开关,电动机)。如果您分心并插入错误的板上插座,则可能会立即损坏您所连接的设备或Arduino,或同时损坏两者。
关闭电源,然后您可以进行最后一分钟的检查,以确保一切都已连接到正确的位置,极性是否正确,依此类推。
另外,请确保您身上没有静电,尤其是当您穿着跳线衣或蓬松的衣服或坐在地毯上时。
就个人而言,在接触Arduino之前,我总是伸手触摸附近的一些金属零件以“接地”自己。一个例子是PC,耳机插座之类的金属外壳。
如果在将电源连接到Arduino之后(例如通过USB电缆)您没有立即看到电源LED亮起,请立即断开电源!您可能已经做空了某些事情,为此花费的时间越少越好。
发生这种情况时,我最大的担心是,我通常为新项目连接Arduino,并插入USB以下载新草图。我担心,不知道以前的程序要尝试什么,因为它连接到完全不同的硬件上。
到目前为止,还没有发生任何不好的事情,我不认为每次将其中一个Arduino放回垃圾箱时,我都不会采用刻录BLINK的方法。不过,这可能只是时间问题。
在Arduino IDE中,转到示例,选择Eeprom,选择eeprom clear,然后上传草图。
当针脚13上的LED亮起时,您就完成了。
注意 这可能需要一些时间,具体取决于Arduino中EEPROM的大小。