Hallo,
ich möchte eine Funktion mehrfach nutzen, ist ja Sinn einer Funktion, um verschiedene LEDs mit unterschiedlichen an/aus Zeiten blinken zu lassen.
die Funktion sieht so aus
void LED_Flash() // LED blinken lassen
{
static boolean state_LED = LOW;
static unsigned long millis_LED = 0;
if (state_LED == LOW && millis() > millis_LED ) {
digitalWrite(Flash_LED, HIGH); // LED einschalten für
millis_LED = millis() + 50; // 50ms
state_LED = HIGH;
}
if (state_LED == HIGH && millis() > millis_LED ) {
digitalWrite(Flash_LED, LOW); // LED ausschalten für
millis_LED = millis() + 2000; // 2 sec.
state_LED = LOW;
}
}
Mir ist klar, dass ich für die allgemeine Nutzung die beiden Zeiten, derzeit 50ms und 2000ms, und die LED Pin Nummer durch Variablen ersetzen und dafür Werte beim Aufruf übergeben muß.
Nur was passiert mit den beiden lokal definierten Variablen?
Erstellt der Compiler für jeden unterschiedlichen Funktionsaufruf neue lokale Variablen?
Sonst bringen mehrere Aufrufe alles durcheinander, habe ich die Befürchtung.