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?
- posted
11 years ago