loop() 函数之外的无限循环

Infinite loop outside of the loop() function

本文关键字:无限循环 函数 loop      更新时间:2023-10-16

这是我为 NodeMCU 绘制的 Arduino 草图的伪代码。它有一个处理程序,可以不断更新 LED 灯条。

void setup() {
}
void loop() {
}
bool handler() {
//intended infinite loop
}

问题是无限循环阻塞了主loop()。有没有办法在不阻塞主loop()函数的情况下执行无限循环。

很抱歉我的问题含糊不清,我只是Arduino编程的初学者。

你的草图中应该只有一个"无限"循环,它已经为你构建了,它loop()。 您构造的所有其他循环 - 或任何函数调用 -必须有某种方式退出并返回到loop(),最好是快速。 您可以使用break或任何其他将控制权返回给loop()的机制退出。 但你必须回来...

不要阻塞主循环,而是让循环在每次调用函数时调用处理程序......

void setup()
{
//setup required parameters/handlers
}
void loop()
{
// a piece of code that calls the handler
if(handler())
{
// TODDY
}
}
bool handler()
{
//intended infinite loop
}