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 ! > Danke Hans, > > aber leider wars das nicht. > > <hr> > > > > > Hallo, > > nach meiner Meinung stimmt die Klammersetzung nicht. > > > > if ports.get(8) >= 0 > > > > {sleep zeit*1000;} geschweifte Klammer fehlt > > > > Gruß Hans > > > > > > > > > Ist mein Problem so einfach oder so dumm, dass keiner antwortet? > > > bitte ein Tip! > > > > > > <hr> > > > > > > > Hallo, > > > > > > > > ich hab schon wieder eine Herausforderung. > > > > Mein Programm funzt soweit, dass es den Eingang ausließt, jedoch stoppt es nicht > > > > den Programmablauf, sondern spilet sofort die Melodien - ich kann sie nicht mehr hören. > > > > > > > > <code> > > > > /* Projekt Ansteuerung Frequenzumrichter */ > > > > /* Beginn 13.01.2005 */ > > > > /* Autor: S. Golebniak */ > > > > > > > > /* HW-Voraussetzung: > > > > /* Ein Frequenzumrichter > > > > /* über PLM0 soll alle 20 ms ein Impuls gehen. > > > > /* Die Länge des Impusl ist von 1.1ms linker bis 2.1ms rechter anschlag */ > > > > > > > > > > > > > > > > //------------------------------------------ > > > > function beep(int ton, int laenge,int pause) > > > > //------------------------------------------ > > > > { > > > > plm.beep(ton); > > > > sleep laenge; > > > > plm.beep(plm.TONE_OFF); // Signal abgeschaltet, Analogport wird nebutzt > > > > sleep pause; > > > > } > > > > > > > > function SetFu(int Kanal,float Value) > > > > { > > > > // 0=1.1ms = 1375 Impulse * 800 ns Praxis 700 * 800 = 0.56ms > > > > // 50=1.6ms = 2000 Impulse * 800 ns > > > > // 100=2.1ms = 2625 Impulse * 800 ns Praxis 2800 *800ns = 2.24ms > > > > int outvalue; > > > > string s1; > > > > > > > > // was auf den ausgang geht > > > > > > > > outvalue=700+(21*Value); > > > > plm.out(1,outvalue); > > > > lcdext.goto(2,0); > > > > s1 = "fa="; > > > > str.putfloatf(s1,Value,2); > > > > lcdext.print(s1) ; > > > > } > > > > //--------- > > > > thread main > > > > //--------- > > > > { > > > > float x; > > > > string s1; > > > > float voltage; > > > > string output; > > > > float zeit; > > > > string time; > > > > int start; > > > > string anfang; > > > > > > > > > > > > // Initial LCD > > > > lcdext.init(); > > > > wait lcd.ready(); > > > > lcdext.clear(); > > > > lcdext.home(); > > > > lcdext.goto(1,0); > > > > > > > > // initial PLM > > > > plm.settimebase(0,1); //Base_800 ns > > > > plm.setmode(0,0); //Mode=digital > > > > plm.setperiod(0,2500); //Periodenlänge=Base_800 ns * 25000 = 20 ms oder 50 Hz > > > > SetFu(0,0); //Servomitte > > > > //ports.set(8,0); > > > > > > > > loop > > > > { > > > > > > > > // Einlesen der Eingänge > > > > //Spannung > > > > > > > > voltage = ports.adc(1) * 0.004; // 4 mV per ADC Digit An Eingang A1 > > > > output = "Ve="; > > > > str.putfloatf (output, voltage, 2); > > > > lcdext.goto(1,0); > > > > lcdext.print(output); > > > > > > > > // Zeit > > > > zeit = ports.adc(0); // Zeit entspricht Spannung am Eingang A0 > > > > time = "t="; > > > > str.putfloatf (time, zeit, 2); > > > > lcdext.goto(1,8); > > > > lcdext.print(time); > > > > > > > > > > > > > > > > // Einlesen der digitalen Eingänge > > > > //Start > > > > > > > > start = ports.get(8); // High-Pegel auf E0 > > > > anfang = "p="; > > > > str.putfloatf (anfang, start, 2); > > > > lcdext.goto(2,8); > > > > lcdext.print(anfang); > > > > > > > > > > > > //Ausgabe auf Ausgang > > > > SetFu(0,voltage); > > > > > > > > if ports.get(8) >= 0 > > > > sleep zeit*1000; > > > > else > > > > { > > > > > > > > // CALLING > > > > melody.good_bad_ugly(); > > > > melody.pink_panther(); > > > > > > > > } > > > > > > > > } > > > > } > > > > > > > > //ENDE > > > > > > > > </code> > > > > > > > > ich hatte es auch in der fprm versucht einen anderen thread aufzurufen geht aber nicht. > > > > > > > > Wird der thread in einem neuen Modul definiert oder im selben? > > > > > > > > if ports.get(8) >= 0 > > > > sleep zeit*1000; > > > > else > > > > run = beepen > > > > > > > > da gibt es bei beepen immer eine Fehlermeldung, ebal ob der thread beepen im selben Modul > > > > oder in einen eigenen untergebracht ist. > > > > > > > > Wenn ich also Port 8 mittels Sapnnung auf 0 setze bekomme ich <b> sofort </b>diese furchtbare Melodie. > > > > Gedacht ist das ganze um über Port 8 das Programm zu stoppen, über Port 9 Pause - das aber erst > > > > wenn ichs kann. > > > > > > > > Danke schonmal! > > > > > > > >