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 ! > > > > > > > > [code] > > thread beep > > { > > int d; > > plm.settimebase(0,plm.BASE_800); > > plm.setmode(0,0); > > plm.setperiod(0,25000); > > ports.set(8,-1); > > loop > > { > > for d=1000...2750 step 20 > > { > > plm.out(0,d); > > sleep 10; > > } > > for d=0...1750 step 20 > > { > > plm.out(0,2750-d); > > sleep 10; > > } > > } > > } > > > > > > thread main > > { > > ports.set(8,-1); > > hwcom.init(); > > hwcom.setspeed(hwcom.SPEED_9600); > > hwcom.print("HWCOM"); > > ports.set(8,0); > > ports.set(8,-1); > > ports.set(8,0); > > ports.set(8,-1); > > ports.set(8,0); > > run beep; > > } > > [/code] > > > Hallo, > > wenn ich mir Deinen Code so ansehe, frage ich mich, ob er wirklich so geplant ist: > Du weißt, das ein MAIN-Thread immer wieder in einer schleife ausgeführt wird, wenn Du ihn nicht vorher > mit dem HALT-Befehl anhälst !? Bei Deinem Code heißt dies, das sämtliche Befehle innerhalb der > geschweiften Klammern erneut aufgerufen werden. Die HWCOM-Befehle ebenso wie die sehr schnelle > Folge von PORTS.SET. Ist dies wirklich so gedacht? > Außerdem wird mit jedem erneuten durchlaufen auch der Task "Beep" unnötigerweise mit RUN > "gestartet" (ich weiß, nicht wirklich gestartet, sondern nur die Priorität gesetzt), aber eben auch > unnötigerweise, den innerhalb des PEEP-Threads ist eine LOOP-Schleife, welche eben niemals > endet! > > Mein Programm-Vorschlag: > <code> > function beep() > { > int d; > ports.set(8,-1); > loop > { > for d=1000...2750 step 20 > { > plm.out(0,d); > sleep 10; > } > for d=0...1750 step 20 > { > plm.out(0,2750-d); > sleep 10; > } > } > } > > thread main > { > plm.settimebase(0,plm.BASE_800); > plm.setmode(0,0); > plm.setperiod(0,25000); > > ports.set(8,-1); > hwcom.init(); > hwcom.setspeed(hwcom.SPEED_9600); > hwcom.print("HWCOM"); > ports.set(8,0); > sleep (500); > ports.set(8,-1); > sleep (500); > ports.set(8,0); > sleep (500); > ports.set(8,-1); > sleep (500); > ports.set(8,0); > beep(); > halt; > } > > </code> > > Ich hoffe, ich haben keinen Programmierfehler gemacht, da der Code nicht getestet wurde, sondern nur > hier so abgetippt. Aber als Anleitung sollte er Dir helfen. > > Viel Erfolg, > wema