Új hozzászólás Aktív témák

  • And

    veterán

    válasz Aryes #17510 üzenetére

    Nem tudom, csak kérdezem: a dolog nem úgy működik, hogy valójában akkor sem marad ki megszakítás, ha több forrása is lehet, csak a később érkezőnek a végrehajtása késlekedhet kissé as ISR futásidejének függvényében? Legalábbis a legegyszerűbb 8-bites uC-k esetén így történik: ha már az ISR kódja fut, egy beérkező újabb interrupt-igény miatt azt nyilván nem fogja újra megszakítani vagy újraindítani a kontroller. Szépen végigfut, de utána lényegében azonnal újraindul az interrupt kiszolgáló rutint, hiszen az újabb megszakítást jelző belső flag már beállt addigra, és az nem vész el (feltételezve, hogy az ISR-ben nem törlünk ész nélkül minden ilyen flag-et akkor is, ha az adott megszakítást nem az váltotta ki). És akkor még mindig csak a legegyszerűbb, egyetlen megszakítási vektort használó és többszintű prioritást nem ismerő kontrollerről van szó.
    A minél rövidebb ISR persze mindenképp előny, hiszen időkritikus alkalmazásnál, pl. nagyobb felbontású időmérésnél nagyon nem mindegy, mikor kapja meg a vezérlést az ISR.

Új hozzászólás Aktív témák

Hirdetés