Arduino 中停止循环
本教程将讨论在 Arduino 中停止循环的方法。Arduino 中有两种循环:一个是默认情况下提供的 void loop(),而另一个是用户在其中创建的。用户创建的循环可以使用 break 方法轻松结束。要结束 Arduino 的 void loop()
,可以使用以下方法。
使用 Sleep_n0m1
库停止 void loop()
上面的方法可能适用于所有 Arduino 板,但是 Arduino 将继续使用电源。使用 Sleep_n0m1
库,你可以将 Arduino CPU 置于永久睡眠状态,直到你手动或使用计时器对其进行重置。请注意,这可能不适用于所有 Arduino 开发板。
#include <Sleep_n0m1.h>
Sleep sleep;
unsigned long sleepTime; // how long you want the Arduino to sleep
void setup() {
sleepTime = 50000; // set sleep time in ms, max sleep time is 49.7 days
}
void loop() {
// Your Code
sleep.pwrDownMode(); // set sleep mode
sleep.sleepDelay(sleepTime); // sleep for: sleepTime
}
完成代码后,请确保使用 Sleep_n0m1 库
。这种方法只会消耗一点能量。使用此链接了解更多详细信息。
使用 exit(0)
停止 void loop()
可以在代码后使用 exit(0)
方法来结束 Arduino 的 void loop()
,但是请注意,Arduino.cc
没有提供任何方法来结束此循环,因此该方法可能不起作用适用于所有 Arduino 开发板。
void loop() {
// All of your code here
// exit the loop
exit(0); // 0 is required to prevent error.
}
请注意,exit(0)
之后,你的 Arduino 将停止工作,直到你手动将其重置。因此,请确保在代码完成其任务之后使用此方法。
使用无限循环停止 void loop()
上面的方法可能不适用于所有的 Arduino 板,因此我们必须使用另一种方法。无限循环方法将适用于所有 Arduino 板,但是 Arduino 将保持清醒状态并继续消耗功率。在此方法中,你可以在代码后插入无限循环。Arduino 将处理你的代码,进入无限循环并停留在那里,直到你手动将其重置。
void loop() {
// All of your code
while (1) { // infinite loop
}
}
如果 Arduino 进入无限循环,它将在你重置它之前不会返回,因此请确保在完成代码后使用无限循环
。
相关文章
Arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:C++
-
可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。
Arduino 的字符转换为整型
发布时间:2024/03/13 浏览次数:181 分类:C++
-
可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。
Arduino 串口打印多个变量
发布时间:2024/03/13 浏览次数:381 分类:C++
-
可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。
Arduino printf 函数
发布时间:2024/03/13 浏览次数:223 分类:C++
-
通过使用 sprintf()函数和 Serial.print()函数,可以获得与 printf()相同的输出。