![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Ihr, Ich bin dabei eine Rolladensteuerung zu programmieren und hänge irgendwie an folgender Stelle: Zur Beschreibung ich habe mehrere I2C Input und OutputKarten an Port 3und 4 der C Control Main Unit. Ich möchte folgendes erreichen: 1.wenn der Taster gedrückt und wieder losgelassen wird soll das Rollo ganz nach unten/oben fahren. 2. wenn der Taster länger gedrückt wird (mehr als 3 sec sollen alle Rollos im haus fahren ( es ist Nacht). 3. wenn der Taster 2 x hintereinader gedrückt wird dann stop dieses Rollo an der aktuellen Position. der Input Teil ist klar der Outputteil ist fast klar die Zeitabfrage zwischendurch kostet mich die letzten Haare prozess1=0 #eingabeabfrageloop gosub input 'unterprogramm tastenwert holen if inputbyte = 254 then hilf0 = 0 if inputbyte = 253 then hilf0 = 1 if inputbyte = 251 then hilf0 = 2 if inputbyte = 247 then hilf0 = 3 if inputbyte = 239 then hilf0 = 4 if inputbyte = 223 then hilf0 = 5 if inputbyte = 191 then hilf0 = 6 if inputbyte = 127 then hilf0 = 7 if inputbyte < 255 then prozess1 = 50+hilf0 'in prozessvariable den Tastendruck festhalten für den nächsten durchlauf der wert 50 steht für die 5te inputkarte if prozess1 = 0 then goto eingabeabfragelloop .... .... so und hier ist mein problem ich schreibs mal so: wenn das inputbyte befüllt ist < 255 dann zeitstempel und prozess1 füllen wenn das inputbyte befüllt ist < 255 und prozess >0 ist und der beginn des Tastendrucks länger als 3 sec her dann soll die outputaktion alles zu / alles auf gestartet werden. wenn das inputbyte befüllt ist <255 und prozess >0 ist und innerhalb der 3 sec das zweite Mal das Inputbyte befüllt wurde dann stop der Outputaktion Ich glaub ich krieg einen Knoten in meine Hirnwindungen Bitte Hilfe PS ich muss das ganze so schreiben damit ich nacheinander 5 Inputkarten (Adressen) abfrage LG Manfred |
Antwort schreiben |