Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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)