Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo Rene, > > > > > also Du überschätzt mich da ganz arg, ich habe erst begonnen > > > mich mit der CC2 näher zu Beschäftigen, da bin ich > > > sicher noch nicht so weit um mal schnell einen Timer > > > zu Programmieren. ;) > > > > Der Thread ist noch sehr einfach gehalten. :-) > > Gut, das Auslagern der Schaltzeiten in ein Konstantenarray war evtl. für den Anfang > > etwas gemein. Aber ein einfacher Count-Down-Timer ist nichts schwieriges. > > Schau Dir den Quellcode einfach nochmal an und versuche diesen zu verstehen. > > > > > > <code> > > const schaltzeiten[]= 073000, 173000, -1; //7:30:00, 17:30:00 > > const schaltdauer= 45;// in Sekunden > > int sectimer; > > > > int state;//Variable für Debugging > > > > thread main > > { > > long timeserial; // Time-Serial im Format HHNNSS > > int i; // Zähler für Schaltzeiten > > byte second; > > second=system.second(); > > loop > > { > > wait second!=system.second(); //Aus Sekundenwechsel warten > > second=system.second(); > > //"Zeitstempel" erstellen: > > timeserial=cast.intLong(system.hour())*10000 + system.minute()*100 + system.second(); > > i=0; // i mit 0 initialisieren > > > > do > > {// Schleife zum Abarbeiten der in schaltzeiten[] definierten Zeitpunkte > > if timeserial==schaltzeiten[i] //Schaltzeiten aus Array > > {// Wenn der Zeitstempel der Schaltzeit entspricht > > sectimer=schaltdauer; //Timer auf Schaltdauer setzen, hier 45sec. > > // stports.setRel(2, 1); //Zum Testen im Simulator auskommentiert > > state=-1; > > } > > if schaltzeiten[i]==-1 i=-1; else i=i+1; //Wenn keine weiteren Schaltzeiten, i auf -1 setzen, > > //damit die Schleife verlasen wird. > > } while i >= 0; //Fußgesteuerte Schleife, wird verlassen, wenn i kleiner 0 > > > > if sectimer>0 sectimer=sectimer-1; > > else > > if sectimer==0 > > {// Wenn Timer abgelaufen ist, Relais ausschalten > > // stports.setRel(2, 0); //Zum Testen im Simulator auskommentiert > > state=0; > > sectimer=-1; > > } > > } > > } > > </code> > > > > MfG André H. > > Hallo André, > > danke nochmals, ich bin eben dran, das mal versuchen nach zu > vollziehen, durch die Erklärungen ist das ziemich gut. > > Irgend wann muss ichs ja mal "fressen". ;) > > MfG Rene