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

Re: Thread's Starten Kategorie: Programmierung (von Rene Schulz - 26.11.2011 19:52)
Als Antwort auf Re: Thread's Starten von Jörg Hansen - 26.11.2011 18:06
Ich nutze:
C-Control II Station, OSOPT V3.1
Hallo Jörg,

Danke für deine Antwort.
Aber da kommt bei mir leider immer der Fehler
"unknown identifier", obwohl es den Thread gibt.

GruÃ? Rene

> Hallo Rene,
>
> einfach aus dem Thread Main heraus mit "run threadname;" starten:
>
> -Globale Variablen definieren (und initialisieren)
> thread main
> - diverse HW initialisieren
> - weitere threads starten
> - "loop" im main tread für alles was der tread im loop so abarbeiten soll
>    (bei mir nur "rudimentäre Grundfunktionen")
>
> Beispielcode auf meiner Haussteuerung:
>
>
> //------------
>   thread main
> //------------
>
> {
> //lokale Variablen
>   string s;
>   int secold;
>   int a;
> // Port Nibble auf Ausgang setzen
> ports.setn(3,0b1111); // Ausgang für LEDs dcferr 12, wechselblinkende LED 13+14
> // hwcom initialiseren und auf 19200 Baud einstellen
>   hwcom.init ();
>   hwcom.setspeed (hwcom.SPEED_19200);
> // PCF 8574 zurücksetzen und vorhandene Bausteine ausgeben
>    a=pcf.init();
>     s= "PCF auf:";
>     str.putmask(s,(a shr 8),'1','0');
>     str.putmask(s,a,'1','0');
>         hwcom.send(s,25);
>         hwcom.ret();
>         wait hwcom.ready();
> // DS 2482-800 initialisieren
>     if ds2482800.init(0)
>     {
>     s = "8Kanal 1-Wire Master gefunden";
>     hwcom.send(s,30);
>     hwcom.ret();
>     }
>     else
>     {
>     s = "8Kanal 1-Wire Master fehlt";
>     hwcom.send(s,26);
>     hwcom.ret();
>     };
> // RTC initialisieren
>     if pcf8583.init(1,1,1,0,0) // Init mit autosync PCF auf DCF
>     {
>     s= "RTC gefunden";
>         hwcom.send(s,12);
>         hwcom.ret();
>         wait hwcom.ready();
>     s= "Stellen der CC2 Uhr o.k.";
>         hwcom.send(s,24);
>         hwcom.ret();
>         wait hwcom.ready();
>         printtime();
>         hwcom.ret();
>      }
>     else
>         {
>         s= "RTC nicht gefunden !!!";
>         hwcom.send(s,22);
>         hwcom.ret();
>         wait hwcom.ready();
>         printtime();
>         hwcom.ret();
>         };
>
> {
> // Thread Rollladen starten
> run Rollladen;
> // Tread Terminal starten
> run terminal;
> // Thread Lüftung starten
> run lueftung;
> }
> loop
> {
> if secold != system.second(); // jede Sekunde 1 mal abarbeiten
> {
> secold = system.second();
> if secold %2 // Programmlaufanzeige (2 im Sekundentakt wechselnd blinkende LEDs)
> {
>  ports.set(14,0);
>  ports.set(13,1);
>  }
> else
>  {
>  ports.set(14,1);
>  ports.set(13,0);
>  };
>  if system.dcferr() ports.set(12,0); // Anzeige ob DCF77 Empfang (rote LED aus wenn o.k.)
>  else ports.set(12,1);
>   sleep 800;
>   };
> }
> }
>


    Antwort schreiben


Antworten:

Re: Thread's Starten (von Alfred - 26.11.2011 22:02)
    Re: Thread's Starten (von Rene Schulz - 26.11.2011 23:25)
        Re: Thread's Starten (von Alfred - 27.11.2011 12:57)
        Re: Thread's Starten (von Jörg Hansen - 27.11.2011 10:50)
            Re: Thread's Starten (von Rene Schulz - 1.12.2011 20:36)
                Re: Thread's Starten (von Karl - 4.12.2011 19:59)
                    Re: Thread's Starten (von Rene Schulz - 18.12.2011 13:55)
                       Re: Thread's Starten (von Rene Schulz - 21.12.2011 20:52)