AVR IRQ

HWSW Famulus hwsw at famulus.hu
Thu Apr 6 10:02:49 CEST 2006


> AVR-en hogyan lehet _automatikusan_ elkerulni a rekurziv IRQ
> hivasokat?
>
> Konkretan az kellene, hogy ha jon egy INT0 megszakitas (edge), akkor
> amig az le nem fut, hiaba rangatja valami koboraram az INT0 labat, ne
> futhasson le az megegyszer, csak ha mar visszakerult a vezerles. Az
> nem tul jo, ha a kod elejen tiltom, a vegen engedelyezem a (z INT0)
> megszakitast, mert kozte es a kivalto ok kozott legalabb 24 clk
> eltelik, ami sok ido... Eleg, ha par us-en belul jon ujabb el, es
> kifekszik a kod...
>
> Van arra lehetoseg, hogy egy megszakitas bekovetkezesekor
> automatikusan kimaszkolja magat, majd en allitsam azt vissza, esetleg
> ezt automatikusan meg is tegye?
>  -Sygma


...szerintem alapbol igy muxik, adatlap 14 oldal
a rutin vegi RETI-ig a global int flag tiltva van...

Viszont megjegyzi ha keletkezik varakozo interrupt a rutin vegrehajtasa 
kozben.
Az ilyen varakozo keletkezeset az adott INT tipusra sajtkezuleg kell 
letiltani
a rutin legelejen egy CLI -vel.
DE EKKOR AZ EL IS VESZIK OROKRE...
azaz valoban nem is kell az az interrupt?


KJ




More information about the Elektro mailing list