Re: Code verschluckt? Kategorie: Programmierung (von André H. - 8.01.2012 19:28) | ||
Als Antwort auf Re: Code verschluckt? von Rene Schulz - 7.01.2012 19:47 | ||
| ||
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. 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; } } } MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: Code verschluckt? (von Rene Schulz - 9.01.2012 19:50) |