Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: threads Kategorie: Programmierung (von nitraM - 3.11.2010 13:06)
Als Antwort auf threads von ChristianS - 2.11.2010 23:29
Ich nutze:
C164CI-ControllerBoard, eigenes Board, OSOPT V3.0, OSOPT V3.1
> Nun benötige ich in meinem Programm 3Timer, die unabhängig voneinander
> ausgewertet werden sollen. Derzeit starte ich einfach 3 threads (Timer0, Timer1, Timer2).
> Das ist nicht sehr elegant. Kann man das auch anders lösen? Die Timer sollen im
> Sekundentakt eingestellt werden können (bis 300min)
>
> ChristianS.

Hallo Christian,
Wie genau sollen deine Timer denn sein?
Angenommen 1 Sekunde würde ausreichen dann würde ich nur einen Tread starten:

 
thread timer
{int sec;
 long timer_1;
 long timer_2;
 sec = 99;
 loop
 {wait ((system.second() != sec));     // warten auf eine neue Sekunde...
  sec = system.second();               // aktuelle Sekunde speichern
  if timer_1 > 1
   {timer_1 = timer_1 -1;              // eine Sekunde abziehen
   }
  else if timer_1 == 0                   // wenn Timer abgelaufen
  {timer_1 = -1;                       // Timerwert setzen
   ... tu das was willst...
  }

  if timer_2 > 1
   {timer_2 = timer_2 -1;              // eine Sekunde abziehen
   }
  else if timer_2 == 0                   // wenn Timer abgelaufen
  {timer_2 = -1;                       // Timerwert setzen
   ... tu das was willst...
  }
...
 }
}



nitraM


    Antwort schreiben


Antworten:

Re: threads (von ChristianS - 3.11.2010 13:23)
    Re: threads (von nitraM - 3.11.2010 14:16)
Re: threads (von nitraM - 3.11.2010 13:09)
    Re: threads (von ChristianS - 3.11.2010 18:05)
        Re: threads (von nitraM - 3.11.2010 19:32)