Uhrzeitauswertung mit 1-maliger auslösung

OP #4512666
Lesenswert?
• ▲
▼
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!
(Firma: Vescomp) #4512879
Lesenswert?
• ▲
▼
Matthias S. schrieb:
> Wie schaut es aber aus wenn man ich sage mal 100 Schaltzeiten benötigt,
> bedeutet das 100byte nur als "merker" benutzt werden.
> Geht dies noch irgendwie "eleganter" für mehrer Schaltzeiten?

 100 Schaltzeiten muss man irgendwo merken, meistens im Eeprom.
 Aber das kriegst du schlecht hin mit 1 Byte, es sei den 6 Minuten
 Abstand ist OK.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.