[elektro] PIC 16 bit megszakítás

Info info at kiralyelektronika.hu
Sat Nov 1 18:20:04 CET 2014


Akkora lenne a verme, hogy fel sem tűnik a túlfutás?

> Amúgy kicsit sánta ez elgondolásod, hiszen amíg nem töltöd fel a
> FIFO-t addig törlés után automatikusan újra bebillen, csak töltés
> után érdemes törölni a IT kérelem jelző bitet, ha statikusan működik ez a kérelem.
> A fenti probléma miatt az is előfordulhat, hogy az elején törlöd a
> IT kérelmet, mire az automatikusan vissza áll jogosan, majd
> feltöltöd a FIFO-t de az IT már megint újra ott jelez, így akár
> kétszer (sokszor) is meghívhatja....

> - Tesztelési céllal, az IT elején nyomj a globális IT tiltást, majd a végén egy engedélyezést.
> - Van egy egymásba ágyazás tiltó bit a NSTDIS, ha ezt bebillented,
> akkor futó IT alatt más IT nem lehetséges, csak az induláskor tudnak versenyezni az IT :-)





> "Zoltán Balla" <sdrlab at yandex.ru> írta:
>>Sziasztok!
>>
>>Adott egy 16 bites DsPIC környezet. Van egy megszakítás, a soros port 
>>adására, mely szerint ha kiürült a FIFO, megszakítást generál. Ekkor a 
>>kiszolgáló rutin inkrementál egy tömböt cimző index változót, ha az 
>>kisebb, mint a max érték, és újabb byte-ot helyez a FIFO-ba. A flag 
>>törlése a megszakításkezelő elején történik.
>>A tünet a következő: minden tömb(adat) küldése inicializálásakor az 
>>index nem incrementálódik, az az ugyanazt az indexű byte-ot küldi el 
>>mindig konzekvensen.
>>Elemezve az egyetlen értelmes feltételezés az volt, hogy mivel a rutin 
>>elején van törölve a flag, így a megszakítási feltétel újra fennáll, és 
>>azonnal belép újból a kiszolgáló rutinba. Így még az index 
>>inkrementálása előtt mégegyszer bekerül a FIFO-ba ugyanaz a címzett 
>>byte. Az utána következő adatok már jól mennek, végig.
>>A kérdésem az, létezik az, hogy beléphet ugyanabba a megszakításkezelőbe 
>>úgy, hogy még az előző nem lett kiszolgálva ? Emlékeim szerint, mintha 
>>hardveres tiltás kéne, hogy legyen addig, amíg ki nem lép a megszakítási 
>>rutinból... Vagy ez csak a 8 biteseknél volt így ?
>>
>>Zoli
>>
>>-----------------------------------------
>>          elektro[-flame|-etc]
>>

> -----------------------------------------
>           elektro[-flame|-etc]



More information about the Elektro mailing list