Hallo Gemeinde,
ich progge in Bascom und überlege mir gerade einen Weg wie ich eine
bestimmte Aufgabe lösen kann.
Ich habe eine DCF77 geführte Uhr mit festgelegten Variablen. Zum
Beispiel steht in der Variable _hour die Stunde drin.
Nun möchte ich z.Bsp. um 22 Uhr eine Aktion ausführen:
1 | Select Case _hour
|
2 |
|
3 | Case 22 : If Rgb_auto = 1 Then
|
4 | Rf12_data(2) = &H1 ' Küchen Nachtbeleuchtung Nachtmodus => RGB ausschalten
|
5 | Rf12_data(6) = &H2
|
6 | Byteanzahl = 5
|
7 | Slaveadress = 40
|
8 | Gosub Sendsnapframe
|
9 | Gosub Rf12_rxd_on
|
10 | End If
|
11 | Case 6 : If Rgb_auto = 1 Then
|
12 | Rf12_data(2) = &H1 ' Küchen Nachtbeleuchtung Nachtmodus => RGB einschalten
|
13 | Rf12_data(6) = &H3
|
14 | Byteanzahl = 5
|
15 | Slaveadress = 40
|
16 | Gosub Sendsnapframe
|
17 | Gosub Rf12_rxd_on
|
18 | End If
|
19 | End Select
|
Nun habe ich hier das Problem, dass ja im Programmablauf die
Caseschleife so lange es 22Uhr ist, gesprungen wird.
Die obrige Aktion soll aber nur einmal durchgeführt werden.
Ich könnte mir eine zusätzliche Variable anlegen, die nach der Aktion
auf 1 gesetzt wird und zur bestimmten Zeit wieder zurück.
So bräuchte ich für jede Schaltaktion/Zeit jeweils eine Variable.
Wie löst Ihr solch eine Aufgabe, gibt es etwas eleganteres?
Grüße!