这是NodeMCU的Arduino草图的伪代码。它有一个连续更新LED灯条的处理程序。loop()函数之外的无限循环
void setup() {
}
void loop() {
}
bool handler() {
//intended infinite loop
}
问题是无限循环阻塞了主要的loop()
。有没有一种方法可以执行无限循环而不会阻塞主函数loop()
。
对不起,我的问题含糊不清,我只是Arduino编程的初学者。
这是NodeMCU的Arduino草图的伪代码。它有一个连续更新LED灯条的处理程序。loop()函数之外的无限循环
void setup() {
}
void loop() {
}
bool handler() {
//intended infinite loop
}
问题是无限循环阻塞了主要的loop()
。有没有一种方法可以执行无限循环而不会阻塞主函数loop()
。
对不起,我的问题含糊不清,我只是Arduino编程的初学者。
不阻塞主环,而不是让循环调用处理程序在每次函数调用时...
void setup()
{
//setup required parameters/handlers
}
void loop()
{
// a piece of code that calls the handler
if(handler())
{
// TODDY
}
}
bool handler()
{
//intended infinite loop
}
您应该只有一个“无限”循环在你的草图,并且它已经构建对你来说,这是loop()
。每一个其他循环 - 或者任何函数调用 - 对于这个问题 - 你构建的必须有有一些方法可以退出并返回到loop()
,最好很快。您可以用break
或任何其他将控制返回至loop()
的机制退出。但是你必须返回...
使用break ..来自循环 –
为什么不只是不使用循环,并使其成为你在主循环中定期调用的处理程序? – Frank
我想我得到你们在说什么。我今晚会检查并回复。谢谢你们。 – Ramki