-
1. Data: 2013-03-26 00:59:39
Temat: Pytanie do znawców rfm12b....
Od: Marek <f...@f...com>
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
-
2. Data: 2013-03-26 10:13:19
Temat: Re: Pytanie do znawców rfm12b....
Od: g...@s...invalid (Adam Wysocki)
Marek <f...@f...com> 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."
-
3. Data: 2013-03-26 19:47:36
Temat: Re: Pytanie do znawców rfm12b....
Od: Marek <f...@f...com>
On Tue, 26 Mar 2013 09:13:19 +0000 (UTC), g...@s...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