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 进入无限循环,它将在你重置它之前不会返回,因此请确保在完成代码后使用无限循环
。
相关文章
如何在 C++ 中实现毫秒级的睡眠
发布时间:2024/01/02 浏览次数:154 分类:C++
-
本文介绍了在 C++ 中使用不同方法暂停程序执行,实现睡眠的方法。本文介绍了在 C++ 中睡眠毫秒的方法。使用 std::this_thread::sleep_for 方法在 C++ 中睡眠
如何在 C++ 中将双精度数四舍五入到整数上
发布时间:2024/01/02 浏览次数:96 分类:C++
-
本文演示了如何在 C++ 中把双精度数四舍五入到整数中。本文将为大家讲解几种在 C++ 中如何将双精度数四舍五入为整数的方法。使用 round() 函数将双精度数四舍五入到整数
如何在 C++ 中以毫秒为单位获取时间
发布时间:2024/01/02 浏览次数:71 分类:C++
-
本文介绍了如何在 C++ 中获取以毫秒为单位的时间。本文将介绍多种 C++ 方法,介绍如何以毫秒为单位获取时间。
如何在 C++ 中把 Char 数组转换为 Int
发布时间:2024/01/02 浏览次数:121 分类:C++
-
本文演示了在 C++ 中把 char 数组转换为 int 类型的方法。本文将介绍将 char 数组转换为 int 类型的 C++ 方法。使用 std::strtol 函数将 char 数组转换为 int 类型
如何在 C++ 中将 ASCII 码转换为字符
发布时间:2024/01/02 浏览次数:285 分类:C++
-
本文介绍了在 C++ 中如何将 ASCII 值转换为 char 的方法。本文将演示关于如何在 C++ 中把 ASCII 值转换为字符的多种方法。在 C++ 中使用赋值运算符将 ASCII 值转换为字符
如何在 C++ 中把十进制转换为二进制
发布时间:2024/01/02 浏览次数:124 分类:C++
-
本文介绍如何在 C++ 中把十进制数转换成二进制数。本文将介绍几种在 C++ 中如何将十进制数转换为二进制表示的方法。在 C++ 中使用自定义定义的函数将十进制数转换为二进制数
如何在 C++ 中把枚举型转换为字符串
发布时间:2024/01/02 浏览次数:235 分类:C++
-
本文演示了如何在 C++ 中把枚举转换为字符串。本文将解释几种在 C++ 中把枚举类型转换为 string 变量的方法。使用 const char*数组将枚举类型转换为字符串
在 C++ 创建一个字典
发布时间:2024/01/02 浏览次数:203 分类:C++
-
本文介绍了如何在 C++ 中创建一个字典。使用初始化列表构造函数在 C++ 中创建字典 在 C++ 标准容器库中,有一个名为 std::map 的字典,它实现了具有唯一键的排序键值对。