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