Jj ,i ten MikroPascal to dělá taky automaticky(odzkoušeno).Chtěl bych se ještě zeptat,jestli je potřeba na začátku přerušení zakázat přerušení (GIE) a na konci ho povolit,nebo se to používá v případech ,kdy není jistota ,že dřív nastane další přerušení, než proběhne kód přerušení ?
Na co se používá v INTCON <6> (PEIE) ? V manuálu je psáno :
PEIE: Povolení přerušení od periferií
1 = povoleno nemaskované přerušení od periferií
0 = zakázáno (maskováno) přerušení od periferie
Jak to mám chápat ? Díky
tím že se přerušení vyvolá tak se automaticky přerušení (GIE) zakáže. to aby nedošlo k tomu aby se nevyvolalo přerušení v přerušení. takže je potřeba na konci rutiny přerušení GIE povolit, a nebo ho polovit až nekde v programu kde je to potřeba. Periferie je např ADpřevodník, komparátor, komunikace, atd,,, takže když potřebuju vyvolat přerušení např od komparátoru tak musim povolit GIE (globální přerušení) a pak musim taky povolit přerušení od periferií aby se mi vyvolalo přerušení od povolené periferie. a pak povolit samotnou periferii kterou potřebuju,
po vstupu do přerušení se automaticky zakážou povolení příznak I ve statusu. Když chceš v přerušní vyvolat ještě jedno přerušení tak ten bit musíš ručně zapnout. Ale pokud ho nazapneš a ono se ukončí přerušení instrukcí u AVR je to RETI tak ta instrukce automaticky nahodí ten bit ve statusu čili povolí přerušení