Arduino 复位
本教程将讨论三种复位 Arduino 的方法。第一种方法是 Arduino 上的复位按钮。第二种方法是 Softwarereset
库,第三种是 Adafruit 的 SleepyDog
库。
使用复位按钮复位 Arduino
如果你使用的是 Linux,则存在一个错误,该错误会阻止 Arduino IDE 与 Arduino 开发板对话。结果,你无法在 Arduino 中上传代码,它将给出一个错误。在这种情况下,你可以使用此方法复位 Arduino。
首先,请确保没有集线器将 Arduino 直接连接到计算机。使用集线器有时会给你带来错误。现在关闭 Arduino 的电源,按住复位按钮,同时再次打开它的电源。这将复位你的 Arduino,并且你可以轻松上传其他代码而不会出现任何错误。
使用 Softwarereset
库复位 Arduino
如果你想使用 sketch
复位 Arduino,则可以使用 Softwarereset
库轻松复位。该库与 AVR
架构兼容,因此你可以将其与 Arduino Uno、Mega、Yun、Nano 和 Leonardo 开发板一起使用。要使用此库,你需要使用 Arduino IDE 中提供的库管理器
进行安装。
该库有两种复位 Arduino 的方法。一种是 standard
方法,该方法将使用看门狗计时器复位 Arduino。另一种方法是 simple
方法,该方法将仅重新启动程序。
void loop() {
// All of your code
softwareReset::standard(); // Reset using the standard method
softwareReset::simple(); // Restart the program
}
请注意,将不会执行在复位代码下方写入的任何代码行。因此,请确保在完成代码后使用 reset。有关更多信息,请阅读库文档。
使用 Adafruit SleepyDog
库复位 Arduino
上面的库仅适用于五个 Arduino 开发板。如果你的 Arduino 不是其中之一,那么你可以使用此库,因为它支持几乎所有的 Arduino 开发板。使用此链接检查 Arduino 是否与此库兼容。
#include <Adafruit_SleepyDog.h>
void setup() {
// Make sure to reset the watchdog before the countdown expires or
// the Arduino will reset!
int countdownMS = Watchdog.enable(4000);
}
void loop() {
// All of your code
}
在上面的代码中,Arduino 将在 4 秒钟内复位。你可以使用复位方法复位看门狗。有关更多信息,请阅读库文档。