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 ! > Hallo Klaus, > > Es gibt eine sehr viel einfacher Möglichkeit, aus mehreren Threads > schreibend auf hwcom zuzugreifen, ohne daß es zu einem Durcheinander kommt: > <code>... > Zeile =123; > wait cap.Capture(0); > // Hier die Ausgabe > hwcom.print("Thread xy") > hwcom.num(Zeile); > hwcom.ret(); > cap.Release(0); > ...</code> > > Wichtig ist hier, daß hier alle Augaben über das selbe Capture vom Modul cap.c2 > abgewickelt werden. (Hier das Capture mit dem Index 0) > > MfG André H. > > > > Hallo André, > > > > ich war offensichtlich nicht der Einzige, der Probleme mit dem Datenaustausch > > zwischen CC2 und Computer über die hwcom hatte. > > > > Ich stand vor dem Problem, das ich > > 1. mein Prog mit Ausgaben im Terminalfenster debugge > > 2. eine Visual Basic Apps schreibe, um Stati auf dem Com darzustellen > > 3. (wenn ich mal viel zeit habe) eine Webseite baue, und über die Com die > > CC2 fernsteuern möchte (z.B. damit meine Gartenberegnung von einem > > Bekannten über das Web gemacht werden kann o.ä. > > > > Fakt ist, dass ich natürlich in verschiedenen threads Testausgaben im Terminalfenster > > generiere, bzw. unterschiedlich threads für verschiedene Funktionen habe. Als ich dann > > Die Ausgabe mit put, print usw, gemacht habe, bekam ich die üblichen Probs. > > > > Deine Antworten haben mir sehr weitergeholfen und ich habe für mich folgende Lösung gefunden, > > die ich einfach gerne mal posten will, falls noch jemand soetwas machen möchte. Funzt prima. > > Ich erstelle einfach ein neues Modul mit folgendem Code und rufe die Ausgabebefehle nur noch über > > das neue modul auf und nicht direkt aus hwcom. > > > > byte flagw; > > byte work; > > > > byte toputbyte; > > string toputstring; > > > > function put (byte c) { > > capture flagw; > > wait work==0; > > toputbyte=c; > > work=1; > > release; > > } > > > > function print (string s) { > > byte x; > > capture flagw; > > wait work==0; > > toputstring=s; > > work=2; > > release; > > } > > > > function ret() { > > capture flagw; > > wait work==0; > > work=3; > > release; > > } > > > > thread main { > > work=0; > > run 32; > > loop { > > wait work>0; > > if work==1 hwcom.put(toputbyte); > > if work==2 hwcom.print(toputstring); > > if work==3 hwcom.ret(); > > work=0; > > }} > > > > Ich hoffe es kann jemand gebrauchen, wenn er wie ich mal im Forum sucht. > > > > Gruß > > Klaus