
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Andreas, wie wäre es mit einer Variable, in der Du Dir merkst, ob eine Prioritäts-Situation eingetreten ist? Das könnte ungefähr so aussehen... (quick and dirty, nur um zu zeigen wie es gehen könnte) define prio byte prio = 0 .... #loop ' mit jedem Tastendruck wird Bit 1 von prio ein-/ausgeschaltet if port[1] = on then prio = prio xor 1 ' wenn die Temperatur einen kritischen Wert überschreitet Bit 2 von prio einschalten (sonst Bit 2 aus) if temperatur > XX then prio = prio or 2 else prio = prio and 253 ' wenn ein Zeitfenster erreicht wird Bit 3 von prio einschalten (sonst Bit 3 aus) if (hour >= 12 and hour <= 15) then prio = prio or 4 else prio = prio and 251 ' jetzt die priorisierte Abfrage if (prio and 1) = 0 then goto keine_taste ' hier der Programmteil für das was bei einem Tastendruck passieren soll ... goto loop #keine_taste if (prio and 2) = 0 then keine_temp ' hier der Programmteil für das was bei erreichen der kritischen Temperatur passieren soll ... goto loop #keine_temp if (prio and 4) = 0 then goto loop ' hier der Programmteil für das was bei erreichen eines Zeitfensters passieren soll ... goto loop Ist der Programmteil jeweils identisch, kannst Du natürlich mit einem Unterprogramm arbeiten und es per gosub jeweils aufrufen. Ich denke die Vorgehensweise ist klar, so daß Du die Priorisierung der Lüfter-Steuerung selber machen kannst. Grüße, Paul > Hallo, hallo! > > Ich bin Anfänger und arbeite mich so langsam in die Programierung in Basic ein. Klappt eigentlich > auch ganz gut! Jetzt steh ich vor einem Problem und komme einfach nicht weiter! > > Mein kleines Programm soll folgendes können: > > 1. Lampen nach Zeit steuern (Zeitschaltuhr) > 2. bei zu hohen Temperaturen eine Lampe auschalten und bei noch höheren Temperaturen einen > Lüfter anschalten > 3. alles manuell über die Tasten der CStation an- bzw. ausschalten > > Jede Funktion einzeln für sich funktioniert auch Bestens. Wenn ich sie jedoch zusammenfüge, dann > kann ich die Tasten nicht mehr Bedienen, da er ja sofort die Lampen wieder einschaltet, wegen > der Zeitschaltuhr. Genauso mit der Temperatur! Kann man irgendwie Prioritäten setzen, > so dass die Tasten die höchste Priorität haben, dann die Temperatur und danach die Zeit? > Ich müßte irgendwie speichern, dass ich die Taste gedrückt habe, damit er die Zeit und Temp. nicht > abfragt! Aber WIE??? > > Ich bin für jede Hilfe dankbar!! > Gruß Andreas |
| Antwort schreiben |