Hallo Zusammen
Ich würde gerne den Code im Anhang vereinfachen, am liebsten die
Funktion parametrisieren. Denn diese Funktion enthält noch 6 weitere
Taster (welche ich nun nicht im Code beigelegt habe, da sie sehr quasi
identisch sind) abfragen die im gleich Programmiert sind, jedoch ist der
inhalt der If verzweigungen immer leicht anderst. Ansonsten Funktioniert
das Programm so wie es sollte. Es geht hier auch wirklich nur um diese
Funktion.
Mein Vorschlag:
void ReadT( bool* Pushed, long* Timeout, int PortBit, int*Mseconds )
{
if( *Pushed)
{
*Pushed=false;
if( Status==Zero)
{
PORTB|= _BV( PortBit);
*Timeout= Timer()+ *Mseconds;
}
if (Status==One)
{
....
}
...
}
}
Was denkt ihr, bin da auf dem richtigen Weg? oder habt ihr bessere Ideen
wie sich die Funktion vereinfachen lässt ohne das ich den code am
schluss x-mal kopieren muss?
Vielen Dank.
Hi Luki, > Ich würde gerne den Code im Anhang vereinfachen, am liebsten die > Funktion parametrisieren. .... und warum tust Du es dann nicht... weiter? Led(Nr, X); State(Condition, Y); Timeout(Timer, Time); Dein >"if(Status==One Two Three)"< Konstukt ist ziemlich kompliziert, versuchs mal mit switch/case.
Luki schrieb: > jedoch ist der inhalt der If verzweigungen immer leicht anderst. Ja verflucht noch mal, wie soll dir hier jemand verraten können, wie es sich vereinfachen läßt, wenn du nicht verräts "wie anders". Normalerweise würde ich so ein Zeugs immer über Arrays laufen lassen und nur mit dem Index arbeiten, aber wer weiss, ob das mit dem Inhalt deiner geheimen If-Verzweigungen die Sache vereinfachen würde.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.