2017-08-09 78 views
0

這是NodeMCU的Arduino草圖的僞代碼。它有一個連續更新LED燈條的處理程序。loop()函數之外的無限循環

void setup() { 

} 

void loop() { 

} 

bool handler() { 
//intended infinite loop 
} 

問題是無限循環阻塞了主要的loop()。有沒有一種方法可以執行無限循環而不會阻塞主函數loop()

對不起,我的問題含糊不清,我只是Arduino編程的初學者。

+0

使用break ..來自循環 –

+1

爲什麼不只是不使用循環,並使其成爲你在主循環中定期調用的處理程序? – Frank

+0

我想我得到你們在說什麼。我今晚會檢查並回復。謝謝你們。 – Ramki

回答

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 
} 
2

您應該只有一個「無限」循環在你的草圖,並且它已經構建對你來說,這是loop()。每一個其他循環 - 或者任何函數調用 - 對於這個問題 - 你構建的必須有有一些方法可以退出並返回到loop(),最好很快。您可以用break或任何其他將控制返回至loop()的機制退出。但是你必須返回...