arduino - 在 Arduino 中,为什么要故意创建无限循环?
问题描述
在ASCII 表示例草图中有一个有意的无限循环:
if (thisByte == 126) { // you could also use if (thisByte == '~') {
// This loop loops forever and does nothing
while (true) {
continue;
}
这样做有什么意义void main()
?为什么不把所有东西都放进去void setup()
?这对于运行一次函数有用吗?我认为如果要在特定功能中使用它,它将陷入无限循环...
解决方案
无限循环使 Arduino 在loop()
满足特定条件时停止执行任何操作。这只是一种简单的方法,可以让它在完成它所做的事情后停止循环。将 MCU 无限期地置于深度睡眠或断电模式也适用于此。
是的,你可以在 中做任何事情setup()
,情况总是如此。任何 Arduino 程序都可以重写以在setup()
.
按照惯例,不这样做的主要原因setup()
是用于设置,loop()
用于循环和运行主要功能,否则,这两个函数将具有愚蠢的名称。
不过,每个人都可以自由地按照自己的方式去做。
推荐阅读
- kdb - kdb - kdb 服务器和上下文管理上的持久化功能
- python - 检查列表中是否出现多个 SUBstring,而不显式定义子字符串
- android - android.database.sqlite.SQLiteException:不是错误(代码 0 SQLITE_OK)
- c# - 我在 oledbdatareader 收到一个错误,说 ASP.NET 中的一个或多个必需参数没有给定值
- mongodb - MongoQuery 使用添加更新文档
- typescript - 打字稿,简化,第一个参数的值控制下一个参数的类型,同时使用字符串常量
- python - 选择一个有效的选项。该选择不是可用的选择之一 - Django
- karate - 即使传递 jar 文件,我也得到 Class not found 异常
- python - requests.exceptions.HTTPError 与 requests.HTTPError
- postgresql - 管理 Postgres 脚本部署和升级