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

Re: Threads Kategorie: Programmierung (von Erik K - 1.07.2002 9:09)
Als Antwort auf Re: Threads von André H. - 27.06.2002 11:53

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
> >


    Antwort schreiben


Antworten: