2017-08-09 7 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()に返すことができます。しかし、あなたは返さなければなりません...

関連する問題