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