hallo,
was mich ganz nebenbei etwas stutzig macht, ist dein
Serial.begin (250000);
das funktioniert?
üblich ist eher was in der Größenordnung bis max.
Serial.begin (115200);
was schon sehr schnell ist, aber es könnte sein, dass die Arduino IDE die 250000 automatisch auf default zurücksetzt.
---
zurück zum Topic:
es ist kein "schöner Programmierstil" und stört auch das Verstehen und Debuggen, wenn du sowohl als Rückgabewert als auch bei den Parametern eine Wert-Änderung durchführst.
(Abgesehen davon, dass mir unklar ist, wieso du überhaupt beide Werte (lzahn2Prog Rückgabewert und W4) in derselben Funktion berechnest bzw. änderst...)
"schöner", "üblicher" und "lesbarer" ist:
a) wenn nur 1 Wert zu ändern oder zurückzugeben: als Rückgabewert oder per Referenz (&) oder per Zeiger(*) bei den Parametern
b) wenn 1 Wert benötigt wird, um die richtige Ausführung zu kontrollieren, dann diesen als Funktions-error-Wert zurückgeben.
c) wenn mehrere Werte geändert werden, mit denen "gerechnet" wird, dann alle als Parameter, nicht den/die einen als Parameter und einen anderen als Funktionswert..
Lesezeichen