PIC IRQ

bela bagameri at freestart.hu
Thu Nov 17 14:45:24 CET 2005


> Megy a főprogi, csinál egy CALL-t, PC a stackba, rutin ballag. Beesik a
> megszakítás, PC a stackba, rutin lefut, return helyett GO TO akárhova. A
> stack tetején meg ott figyel a viszatérési cím, a második. Kész a fesztivál.

Hoppá. Tényleg. Jól elnéztem :-(
Bár, ha az IT -ből nem az eredeti helyére ugrik vissza a program, az már 
önmagában is eléggé fesztivál-kinézetű ...
Jó lenne tudni, hogy mi fog történni ott, ahová az IT végén meni kell.
> 
> Ha viszont egy hótt lineáris progid van, csupa goto, meg jump, meg ilyenek,
> a megszakítást meg csak arra tartod, hogy egy eseményt gyorsan kiszolgálj,
> akkor valóban semmi gond. Csak ne legyenek a progidban CALL-ok meg RET-ek.

Ha a CALL-ok előtt IT tiltást csinálsz, és a RETURN után meg 
visszaengeded az IT-t, az is jó lehet.
Ilyenkor persze nagyon rövid szubrutinokat szabad használni, és csak 
keveset, ritkán meghívva.

Egyre jobban érdekel, hogy miért nem lehet "rendesen" visszatérni az IT 
rutinból, miért kell mindig egy bizonyos címre menni ...

Mi van, ha az IT rutinba "belefagyasztod" a programot, és majd a 
watchdog kireseteli onnan? Tulajdonképp ekkor is mindig ugyanarra a 
címre ugrasz az IT végén: a 0x00 -ra :-) (Ezt se gondoltam komolyan)

-- 


üdv: béla




More information about the Elektro mailing list