Pytanie do znawców rfm12b....

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?

Reply to
Marek
Loading thread data ...

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

Reply to
Adam Wysocki

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.

Reply to
Marek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.