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

Re: TRX433 Kategorie: Programmierung (von pocolocos, http://www.pocolocos.at - 1.02.2005 7:12)
Als Antwort auf Re: TRX433 von André H. - 30.01.2005 12:49
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, eigenes Board, OSOPT V3.0
> Hallo pocolocos,
>
> > Ich bilde mir ein, irgendwo etwas über ein Threading-Problem im Zusammenhang mit dem TRX433
> > gelesen zu haben - habe das Forum auch durchsucht - bin nur leider nicht fündig geworden.
> >
> > Zu meiner Frage:
> > Ist es notwendig während, bzw. vor TRX.RECEIVE() oder TRX.SEND() andere Threads zu stoppen?
>
> Es ist kein Threadingproblem, sondern eher ein Timing-Problem, wenn viele Threads laufen.
> Das Modul trx.c2 ist nämlich komplett in C2 geschrieben.
> Jedoch kann dies für das Tranceivermodul zu langsam sein, da es ein sehr enges
> Timeout wegen seines 120ms Watchdogs besitzt.
> Wenn Du den Thread jedoch kurzzeitig mit Prio 255 laufen lässt,
> sollte es zu keinen Problemen kommen.
> Also z.B. so:
> ...
>  run255;
>  yield;
>  // TRX-Zugriff
>  //...
>  resume;
> ...

>
> Das einzige, was man hier bei Multithreading beachten muÃ?, ist, daÃ?
> man das Modul nur aus einem Thread ansteuert.
> Ansonsten sollte man ein explizites Capture verwenden.
>
> MfG André H.
>

hmmm..

yield?
lt. Handbuch gibt der aktuelle Thread mit yield die Programmausführung sofort an den nächsten
Thread ab... (?)

Nachdem die anderen Threads nicht wirklich zeitkritisch sind, hab ich sie für die Dauer der
trx.send / receive gestoppt -> tut auch wunderbar

Danke für den Hinweis

mfg

pocolocos


Meine Seite: http://www.pocolocos.at


    Antwort schreiben


Antworten:

Re: TRX433 (von André H. - 13.02.2005 9:54)