這是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