Money.plTechnologie dla biznesu Grupy dyskusyjne pl.misc.elektronika Pytanie do znawców rfm12b....

Pytanie do znawców rfm12b....

Pytanie do znawców rfm12b....

Marek <f...@fakeemail.com> / 2013-03-26 00:59:39
Próbuje uruchomic odbior danych poprzez przerwanie. Metna
dokumentacja do tego modulu sugeruje ze przerwanie powinien generowac
przy określonym fifo fill. Fifo fill int mam ustawione na 8 bit,
czyli po odbiorze calego bajtu ma generowac przerwanie. Przerwanie
jest generowane przez dedykowany pin ale również posiada odpowiednia
flage (ffit) w rejestrze modulu. Niestety modul generuje przerwanie
na pine tylko raz przy pierwszym bajcie pakietu (zaraz za
synchronizacja), zamiast przy kazdym odebranym bajcie w pakiecie.
Takie zachowanie kompletnie krzyżuje mi plan odbioru bajtów w
przerwaniu, bo sprowadza się do poolingu kolejnych bajtow az do konca
pakietu a taki pooling chcę uniknąć.
Znalazłem w sieci kilka bibliotek do rmf12b, w ktorych odbior jest
robiony przez przerwanie, analiza kodu tych bib. sugeruje, że moduł
powinien generowac przerwanie przy każdym odebranym bajcie. A mój
generuje tylko raz,po synchronizacji na poczatku każdego pakietu. Co
ciekawe flaga ffit odpowiadajaca przerwaniu na pinie w rejestrze jest
ustawiana prawidłowo za każdym odebranym bajtem. Tylko czemu
przewarwanie generowane jest tylko raz?

--
Marek
 

Re: Pytanie do znawców rfm12b....

g...@somewhere.invalid (Adam Wysocki) / 2013-03-26 10:13:19
Marek wrote:

> powinien generowac przerwanie przy każdym odebranym bajcie. A mój
> generuje tylko raz,po synchronizacji na poczatku każdego pakietu. Co
> ciekawe flaga ffit odpowiadajaca przerwaniu na pinie w rejestrze jest
> ustawiana prawidłowo za każdym odebranym bajtem. Tylko czemu
> przewarwanie generowane jest tylko raz?

Nie znam tego modulu, ale strzelam - moze musisz zresetowac flage
ffit, zeby przyszlo kolejne przerwanie?

--
"Project Manager to człowiek, który myśli, że jak weźmie
dziewięć kobiet, to urodzą dziecko w miesiąc."
 

Re: Pytanie do znawców rfm12b....

Marek <f...@fakeemail.com> / 2013-03-26 19:47:36
On Tue, 26 Mar 2013 09:13:19 +0000 (UTC), gof@somewhere.invalid (Adam
Wysocki) wrote:
> Nie znam tego modulu, ale strzelam - moze musisz zresetowac flage
> ffit, zeby przyszlo kolejne przerwanie?


Okazalo się że, obsługa przetrwania była za długa. Flage gasilem ale
w trakcie obsługi przetrwania pojawiało się kolejne, już nie
obsłużone i stad efekt był taki jakby było tylko jedno przerwanie.

--
Marek
 
współpraca