Arduino 复位

Ammar Ali 2023年10月12日 Arduino Arduino Reset
  1. 使用复位按钮复位 Arduino
  2. 使用 Softwarereset 库复位 Arduino
  3. 使用 Adafruit SleepyDog 库复位 Arduino
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 秒钟内复位。你可以使用复位方法复位看门狗。有关更多信息,请阅读库文档

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook