Arduino 复位

Ammar Ali 2023年1月30日 2021年4月29日
  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 秒钟内复位。你可以使用复位方法复位看门狗。有关更多信息,请阅读库文档

Author: 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