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 Rüdi, > > Das Capture funzt einwandfrei. Jedoch muß man bei bereits gecaptureten > Funktionen, wie das z.B. bei hwcom der Fall ist, aufpassen. > > Wird von mehreren Threads jeweils eine Ausgabe gemacht, gibt's kein Problem. > z.B. beiden senden einen String. (unterschiedliche Variablen !!) > Wenn aber die Threads mehrere Ausgaben machen, z.B. mit put(), send() und/oder print(), > ist nicht die gesamte Ausgabe gecaptured, sondern nur die einzelne Funktion. > D.h. zwischen den Aufrufen kann der nächste Thread Laufzeit bekommen. > Eine Lösung wäre hier ein verschachteltes Capture (siehe Modul cap.c2). > Auch muß beachtet werden, daß das Senden im Hintergrund geschieht. > <font face='courier new' size=2> > string s; > ... > s="Irgentetwas"; > hwcom.print(s); > s="etwas anderes"; > hwcom.print(s);</font> > > Dies hier führt z.B. zu Fehlern, da die Ausgabe des Strings s noch nicht > komplett gesendet wurde, als in s ein neuer String geschrieben wird. > Hier muß entweder auf hwcom.ready() gewartet oder abwechselnd eine > zweite String-Variable benutzt werden.(Das selbe gilt auch für Arrays) > > Jedoch würde ich generell die serielle Kommunikation nur über einen einzigen > Thread laufen lassen. Ich kann mir sonst nicht vorstellen, daß diese > sonst einwadfrei funzt und der Empfänger (z.B. PC) die Daten im richtigen Format > bekommt. > In meinen Projekten gibt es dafür immer einen eigenen Thread, der z.B. nur > die Komunikation über hwcom übernimmt. > > MfG André H. > > > > Hallo Leute, > > > > alles im grünen Bereich in der Entwicklergemeinde?! > > Das hoff ich doch und Ihr könnt mir vielleicht weiterhelfen:-) > > > > Ich und mein Projektteam sind uns nicht ganz sicher, ob die Semaphor - Implementation: > > capture... > > release; > > richtig funktioniert. Bei dem Versuch 2 Threads parallel laufen zu lassen, die jeweils beide > > über hwcom.c2 Funtionen Ausgaben über die RS232 Schnittstelle Ausgaben auf dem > > Hyperterminal des angeschlossenen Rechners erzeugen, ist folgender Fehler aufgetreten: > > > > Die Ausgabe ist korrupiert, d.h., das nict alle Zeichen auf dem Hyperterminal ankommen. > > Wir haben 2 Theorien: > > 1.Die capture-release Anweisung funktioniert nicht richtig und schützt die kritischen Bereiche > > nicht vollständig. > > 2.Die Hardware Register der RS232 Schnittstelle werden von den Threads gegenseitig > > überschrieben, bevor der angeschl. Rechner die Register komplett abfragen kann. > > > > Wäre super, wenn einer von Euch weiss, was da vor sich geht. Wenn Punkt 2 der Fall sein sollte, > > ist das vielleicht bei allen externen Einheiten so? > > > > Mit freundlichem Gruß > > rüdi*** > >