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

Re: ports Kategorie: Programmierung (von MiGi, http://www.cc2-Haussteuerung.de - 29.10.2003 19:59)
Als Antwort auf ports von helmut - 29.10.2003 15:39

Hallo Helmut,

zuerst musst du die Zeilen

              run r1;
              run r2;
              run r3;

vor die loop-Schleife setzen            .
Weiterhin müssen die Treads gegeneinander verriegelt werden mit capture ... release bevor die
port.set - Funktion ausgeführt wird.

Probiers mal aus

GruÃ?
MiGi



> Hi an alle
> habe ein problem mit einer Portansteuerung
> bitte helft mir
>
>
>
> Programm:
>
> int re,time[3];
> thread r1
> {run 5;
>  if re == 1 {
>             ports.set(1,1);
>             sleep time[re-1];
>             ports.set(1,0);
>             time[re]=0;
>             re=0;
>            }
> }
> thread r2
> {run 5;
>  if re == 2 {
>             ports.set(3,1);
>             sleep time[re-1];
>             ports.set(3,0);
>             time[re]=0;
>             re=0;
>             }
> }
> thread r3
> {run 5;
>  if re == 3 {
>             ports.set(5,1);
>             sleep time[re-1];
>             ports.set(5,0);
>             time[re]=0;
>             re=0;
>             }
> }
>
> thread main
> { run 10;
>   string Re,X,zeit;
>   byte b[100];
>   int i;
>  
>   hwcom.init();
>   hwcom.setspeed(hwcom.SPEED_9600);
>   hwcom.flush();
>
>  loop{
>       i=hwcom.receive(b,10,1000);
>       if i>0{
>               strx.cut(b,Re,0,1);
>               X="x";
>               if strx.comp(Re,X) quit -1;
>               re=strx.getNum(Re);
>               strx.cut(b,zeit,0,5);
>               hwcom.put(13);
>               hwcom.put('R');
>               hwcom.send(Re,str.length(Re));
>               hwcom.put('T');
>               hwcom.send(zeit,str.length(zeit));
>               time[re]=strx.getNum(zeit);
>               run r1;
>               run r2;
>               run r3;
>             }
>       }
> }
>
> Re... Relaise
>
> in diesem Programm geht es darum, dass ich eine Zahl in das Terminal schreibe z.B: 2500
> er soll dann das relay 2, 500 ms ansteuern. weiters soll er R2T500 ausgeben.
> und wenn x kommt führt er einen Softwarereset durch.
>
>
> er gibt zwar aus was er soll, aber die Zeitansteuerung funzt nicht.
>
> bitte helft mir weiter
>
> Mfg Helmut

Meine Seite: http://www.cc2-Haussteuerung.de


    Antwort schreiben


Antworten:

Re: ports (von Helmut - 30.10.2003 8:25)
    Re: ports (von krassos - 30.10.2003 12:07)
        Re: ports (von helmut - 31.10.2003 10:04)
            Re: ports (von krassos - 1.11.2003 12:42)
                Re: ports (von krassos - 1.11.2003 12:54)
                    Re: ports (von krassos - 1.11.2003 13:15)