Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hi, > danke für die antwort. > > die threads sollten nicht voneinander verriegelt werden. wenn ich eine capture variable setze > dann kann ich nicht 2 ports gleichzeitig ansteuern oder?? > dass heißt dass wenn ich port 1 10 sekunden ansteuere und nach 5 sekunden port 2 wären > sie ja verriegelt oder??? > > mfG helmut > > > > 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