Probleme mit Void und Funktionen.

Hallo jurs,

eine sehr elegante Lösung, um ein Pin zwischen den zwei Zuständen umzuschalten. Zumal zusätzlich noch RAM gespart wird, weil man sich den alten Wert nicht merken muss.
Die Funktion läßt sich sogar noch ein wenig eindampfen, wenn man den zu setzenden Wert direkt aus aus der Berechnung verwendet:

void performBlinkState(boolean blinkerGesetzt) {
  if (blinkerGesetzt) {
    digitalWrite(blinkPin,(millis()/500)%2);
  }
  else
    digitalWrite(blinkPin,LOW); 
}

Da die Funktion ansich ja "stateless" ist, kann man sie sogar für mehr als eine "Blinkaufgabe" einsetzen, wenn man blinkPin und die Zeit zusätzlich als Parameter übergibt.

Vielen Dank für diese clevere Lösung.

Mario.