Hallo,
ich will mir einen Wecker programmieren der durch die Tasten auf dem
SainSmart Keypad Shield gestellt werden können soll. Tasten einlesen
funktioniert ohne Probleme, auch das erstmalige Stellen ist kein
Problem. Ich will aber erst die Stunde einstellen, per Knopfdruck auf
die Minuten wechseln und dann eventuell per nochmaligen Knopfdruck
wieder auf die Stunden usw. falls etwas falsch eingestellt wurde.
Meine "Wechselfunktion" sieht folgendermaßen aus:(Und sry, ich checke
nicht ganz wie das Code formatieren funktioniert)
1 | if(wecker_einstellung_stunde==true &&wecker_einstellung_minute==false && (key_10ms=='2' || key_10ms=='5'))
|
2 |
|
3 | {
|
4 | wecker_einstellung_stunde=false;
|
5 | wecker_einstellung_minute=true;
|
6 | }
|
7 |
|
8 |
|
9 | if(wecker_einstellung_minute==true && wecker_einstellung_stunde ==false &&(key_10ms=='2' || key_10ms=='5'))
|
10 |
|
11 | {
|
12 | wecker_einstellung_minute=false;
|
13 | wecker_einstellung_stunde=true;
|
14 | }
|
Ich denke, das meiste ist selbsterklärend. Es geschieht alles in einer
10ms Zeitscheibe. Die gedrückte Taste wird in key_10ms gespeichert.
Wenn wecker_einstellung_stunde true ist, soll man die Stunde einstellen
können.
Wenn wecker_einstellung_minute true ist, soll man die Minute einstellen
können.
Mit den Tasten 2 und 5 soll gewechselt werden.
Wenn jetzt aber wecker_einstellung_stunde true ist und ich
beispielsweise die 5 drücke, dann wird die if-Abfrage ausgeführt. Das
löst aber gleichzeitig die zweite If-Abfrage aus, da deren Bedingungen
ja in der ersten Abfrage gesetzt werden und ich lande wieder in der
Stundeneinstellung.
Ich weiß nicht wie ich das beheben soll.
Ich hoffe ich habe es nicht zu kompliziert erklärt und man kann mir
helfen :)