Brantiko
27.08.2007, 22:48
Guten Abend!
Ich habe folgendes Problem (schematisch umgebastelt auf das LED-Beispiel)
Ich möchte eine LED 1min einschalten, danach soll sie erlischen.
Die Varibale die dafür sorgt dass nach einer Min. Schluss ist wird daher vor der Hauptprogrammscheife mit einem Wert veresehen :
Wartezeit = 100 ' 100 = Eine Minute
Nun soll jedoch diese Variable veränderbar sein. Wenn beim einschalten ein Taster gedrückt ist, springt das Programm in eine Subroutine und Zählt die Variable hoch. Pro Sekunden blinkt die LED einmal was bedeutet dass der Wert nun um 10 erhöt wurde. Blinkt die LED 10 mal hat man die Wartezeit also verdoppelt. Ich weise den neuen Wert der Variable "Wartezeit" zu und speicher den Wert somit im EEPROM, damit beim nächsten einschalten die LED dann zwei Minuten leuchtet. Mit dem Taster kann die Wartezeit jederzeit wieder geändert werden.
Problem: Der Anfangswert von 100 wird der Variable jedes mal wieder zugewiesen, weil der Codeausschnitt oben bei jedem Einschalten einmal durchlaufen wird.. und daher die Wartezeit wieder auf 100 gesetzt wird, egal welchen Wert ich vorher manuel "eingegeben" habe.
Wie funktioniert dass mit einem Anfangswert der geändert werden kann und auch geändert bleibt?
Gruss
Alex
Ich habe folgendes Problem (schematisch umgebastelt auf das LED-Beispiel)
Ich möchte eine LED 1min einschalten, danach soll sie erlischen.
Die Varibale die dafür sorgt dass nach einer Min. Schluss ist wird daher vor der Hauptprogrammscheife mit einem Wert veresehen :
Wartezeit = 100 ' 100 = Eine Minute
Nun soll jedoch diese Variable veränderbar sein. Wenn beim einschalten ein Taster gedrückt ist, springt das Programm in eine Subroutine und Zählt die Variable hoch. Pro Sekunden blinkt die LED einmal was bedeutet dass der Wert nun um 10 erhöt wurde. Blinkt die LED 10 mal hat man die Wartezeit also verdoppelt. Ich weise den neuen Wert der Variable "Wartezeit" zu und speicher den Wert somit im EEPROM, damit beim nächsten einschalten die LED dann zwei Minuten leuchtet. Mit dem Taster kann die Wartezeit jederzeit wieder geändert werden.
Problem: Der Anfangswert von 100 wird der Variable jedes mal wieder zugewiesen, weil der Codeausschnitt oben bei jedem Einschalten einmal durchlaufen wird.. und daher die Wartezeit wieder auf 100 gesetzt wird, egal welchen Wert ich vorher manuel "eingegeben" habe.
Wie funktioniert dass mit einem Anfangswert der geändert werden kann und auch geändert bleibt?
Gruss
Alex