ich habe mal noch explizit die Variablen getrennt um irgendwelche Phänomene auszuschließenCode:void counter_loop() { static thread_local uint32_t counter = 0; thread_local uint64_t vorher1, nachher1; while(true) { Serial.print("counter_loop: "); Serial.println(counter); vorher1 = millis(); std::this_thread::sleep_for(one_sec); nachher1 = millis(); println("Sleep1:"); println(vorher1); println(nachher1); println(millis()); } } void blinker_loop() { static thread_local uint32_t counter = 0; thread_local uint64_t vorher2, nachher2, vorher3, nachher3; while(true) { digitalWrite(LED_BUILTIN, HIGH); Serial.print("blinker_loop (HIGH) counter: "); Serial.println(counter); vorher2 = millis(); std::this_thread::sleep_for(one_sec); nachher2 = millis(); println("Sleep2:"); println(vorher2); println(nachher2); println(millis()); digitalWrite(LED_BUILTIN, LOW); Serial.print("blinker_loop (LOW) counter: "); Serial.println(counter); vorher3 = millis(); std::this_thread::sleep_for(one_sec); nachher3 = millis(); println("Sleep3:"); println(vorher3); println(nachher3); println(millis()); } }
Lesezeichen