2
私が期待するように、2番目のmillis()タイマーが動作しない理由を理解しようとしています。ラムダを使用している間にわからないカプセル化がありますか?または、私は何かを見ていないだけかもしれない!予期しないラムダ動作C++とArduino
ループにおける第二の式は、()印刷されない、最初の処理が行われます。あなたはそれを呼ばれるので
unsigned long timerVal = 0;
void setup()
{
Serial.begin(9600);
Serial.println();
}
void loop()
{
[&timerVal](unsigned long currentTime){if(currentTime - timerVal > 1000UL) {Serial.println("Hello World"); timerVal += 1000UL;}}(millis());
[&timerVal](){if(millis() - timerVal > 1000UL) {Serial.println("Why Not Me?"); timerVal += 1000UL;}};
}
ブリリアント!私は、私の予想される問題の部分Bが真実だと思います。 –