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

时间:2017-08-09 13:22:37

标签: c++ loops arduino nodemcu arduino-esp8266

这是NodeMCU的Arduino草图的伪代码。它有一个处理器,可以持续更新LED灯条。

void setup() {

}

void loop() {

}

bool handler() {
//intended infinite loop
}

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

对不起,我的问题很模糊,我只是Arduino编程的初学者。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

void setup()
{
    //setup required parameters/handlers
}

void loop()
{
    // a piece of code that calls the handler
    if(handler())
    {
        // TODDY
    }
}

bool handler()
{
    //intended infinite loop
}