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 ! > Hi Andrè > > Danke für deine Bestätigung! > > Systemmodule, die man verändern kann haben sicher ihre Vorteile - Nachteile jedoch handelt man sich > dabei halt auch ein, und dazu gehört dass man Systemroutinen nicht so sorglos verwenden kann wie bei > starren Programmanweisungen (wo Anweisungen als Compilercode vorliegen). > > Nur wenn man liest, das hwcom Anweisungen ununterbrechbar abgearbeitet werden, bezieht man dies leicht > auf den Aufruf anstatt richtigerweise nur auf den Teil der HW Aktion. > > Danke für deinen Vorschlag, ich werde meinen Code entspechend ändern. > > Erik > > > > Hallo Erik, > > Als erstes muß ich Dir sagen, daß das in keinster Weise ein Bug ist !! > > Wenn Du die Module swcom & hwcom ansehen würdest, solltest Du es sehen. > > Normalerweise sollte die serielle Schnittstelle nur von jeweils einem Thread > > bedient werden, was garantiert immer Mögliich ist. > > Die Funktionen der seriellen Schnittstellen sind bereits gecaptured, und das ist > > Dein Problem ! Wenn du Thread A anhälst wärend dieser mit Hilfe von com.receive > > Daten empfängt bleibt das Capture bestehen. Sobald Du dann versuchst mit Thread B > > auf auf com.receive zuzugreifen steht, steht dieser vor verschlossener Tür, da das > > Capture von com.receive noch besteht. > > Es gibt mehrere Möglichkeiten dein Problem zu lösen: > > 1. Du benützt nur einen Thread. Das ist ohne weiteres möglich. > > Man muß nur dementsprechend programmieren. > > 2. Du stellst sicher, daß Thread A die Daten fertig empfangen hat, bevor > > Du diesen anhälst: > > > > Thread A: > > .... > > yield; > > busy=1; > > ... > > //Empfangsroutinen > > .... > > busy=0; > > yield; > > .... > > > > Thread B: > > ... > > if ereignis > > {wait busy==0; > > halt thread_A; > > } > > .... > > > > Dies it eine Art einseitiges Softwarecapture, das Deinen Zwecken genügen sollte. > > Es gibt noch die Möglichkeit dieses Softwarecapture so abzuändern, daß > > es genauso funktioniert, wie das Systemeigene, nur lässt sich das > > SW-Capture verschachteln. > > > > MfG André H. > > > > > > > Hab ich auch schon überlegt, aber capture könnte die Reaktionszeit das Threads2 auf das Ereignis erhöhen. ich muß dort leider rasch reagieren. > > > > > > Meine Frage geht eher in die Richtung, ob sonst schon wer dieses Problem geortet hat, das ich mal als Bug im > > > OS bezeichnen würde. Was nützt es, wenn die Abfrage der HwCom ununterbrechbar durch andere Threads ist, > > > aber die Rückgabe der Parameter nicht eingeschlossen ist. > > > > > > Erik > > > > > > > Kannst du nicht in Thread2 ein Capture release einbauen, wärend der Task die Dten von hwcom liest? > > > > > > > > Ciao Jens > > >