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

Re: Watchdog Kategorie: Programmierung (von nitraM - 29.09.2009 7:32)
Als Antwort auf Re: Watchdog von drickes - 28.09.2009 20:03
Ich nutze:
eigenes Board, OSOPT V3.0, OSOPT V3.1
> Hier mein Testprog:
> ***********************************************
> thread test1
> {
>  pcf8583.resetWD();         // manuelles Zurücksetzen des Watchdogs
>  hwcom.print("Test 1    ");
>  yield;
>  sleep 250;
>  yield;
> // sleep 15000;              // soll WD-Timeout auslösen
> halt;
> }
>
> thread test2
> {
>  pcf8583.resetWD();          // manuelles Zurücksetzen des Watchdogs
>  hwcom.print("Test 2    ");
>  yield;
>  sleep 250;
>  yield;
> // sleep 15000;              // soll WD-Timeout auslösen
> halt;
> }
>
> thread main
> {
> hwcom.init();
> hwcom.setspeed(8);
> plm.beep(30);
> pcf8583.init(1,1,1,0,1);     // Init ohne Aktivierung des WD-Threads
> pcf8583.setWDtimeout(20);    // Setzen des WD-Timeouts
> //pcf8583.init(1,1,1,20,1);
> plm.beep(-1);
> loop
> {
> sleep 500;
> run test1;
> sleep 500;
> run test2;
> }
> halt;
> }
> ***************************************************************************
>
> Ohne Watchdog schreibt das Prog abwechselnd Test1 und Test 2 auf dem Hyperterminal.
> Mit Watchdog geht garnichts.
> Was mache ich falsch ?
>
> mfg
> Drickes
>
>

Hi Drickes,
so geht das nicht....

1.) Du setzt im "Main" die maximale Zeit auf 20 Sekunden...
2.) du startest dann 2 weitere (warum?) Threads, die aber jeder nur 15 sec (sleep 15000)
     warten...


teste einfach mal...


thread main
{
 hwcom.init();
 hwcom.setspeed(8);
 pcf8583.init(1,1,1,0,1);            // Init ohne Aktivierung des WD-Threads
 pcf8583.setWDtimeout(10);    // Setzen des WD-Timeouts
 loop
 {hwcom.print("WD in 10 sec...");
  sleep 2000;
  hwcom.print("WD in 8 sec...");
  sleep 2000;
  hwcom.print("WD in 6 sec...");
  sleep 2000;
  hwcom.print("WD in 4 sec...");
  pcf8583.resetWD();                           // manuelles Zurücksetzen des Watchdogs
  hwcom.print("WD zurückgesetzt...");
  hwcom.print("WD in 10 sec...");
  sleep 2000;
  hwcom.print("WD in 8 sec...");
  sleep 2000;
  hwcom.print("WD in 6 sec...");
  sleep 2000;
  hwcom.print("WD in 4 sec...");
  sleep 2000;
  hwcom.print("WD in 2 sec...");
  sleep 5000;
  hwcom.print("das solltest du nicht mehr sehen...");
  halt;
 }
}




nitraM


    Antwort schreiben


Antworten:

Re: Watchdog (von nitraM - 29.09.2009 7:40)
    Re: Watchdog (von GPL - 29.09.2009 12:54)
        Re: Watchdog (von nitraM - 29.09.2009 15:35)
            Re: Watchdog (von GPL - 29.09.2009 22:55)
                Re: Watchdog (von nitraM - 30.09.2009 10:57)
            Re: Watchdog (von drickes - 29.09.2009 19:19)
                Re: Watchdog (von nitraM - 29.09.2009 21:12)