迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

Arduino 中停止循环

作者:迹忆客 最近更新:2024/03/13 浏览次数:

本教程将讨论在 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 二维数组

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 二维数组

发布时间:2024/03/13 浏览次数:112 分类:C++

二维数组与 1d 数组非常相似,像矩阵一样包含行和列。

如何在 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 的字典,它实现了具有唯一键的排序键值对。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便