COM Ausgabe aus mehreren threads bedienen? Lösung Kategorie: Programmierung (von Klaus - 27.11.2003 23:06) | |
| |
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 | |
Antwort schreiben Antworten: Re: COM Ausgabe aus mehreren threads bedienen? Lösung (von André H. - 28.11.2003 2:21) Re: COM Ausgabe aus mehreren threads bedienen? Lösung (von Klaus - 7.12.2003 18:51) |