Hallo zusammen.
Ich möchte für mein Programm einen Timer mit millis() verwenden und brauche dazu mehrere verschiedene Intervalle. Die Funktion (außerhalb von loop) sieht so aus:
bool Timer(unsigned int interval)
{
static unsigned long oldMillis;
if (millis() - oldMillis >= interval)
{
oldMillis = millis();
return true;
}
else
{
return false;
}
}
Deklaration über Loop:
bool pulse1 = false; // Pulse for Running Light steps
unsigned int interval1 = 75; // Interval for Running Light pulsing (ms)
bool timer1 = false; // Timer for switching program 1 to another
unsigned int runtime1 = 3; // Time program 1 should run bevore switching (minutes)
bool timer2 = false; // Timer for switching a running light program to program 1
unsigned int runtime2 = 30; // Time a random running light program should run (seconds)
Aufrufe in Loop:
pulse1 = Timer(interval1);
timer1 = Timer(runtime1 * 60000);
timer2 = Timer(runtime2 * 1000);
Im Moment funktioniert allerdings nur der erste Timeraufruf die anderen beiden geben nichts zurück. Was mache ich falsch?
Sorry für die Anfängerfrage, aber ich bin noch am Lernen ![]()