01-23-2018, 07:26 PM
(01-23-2018, 05:10 PM)vojinilic Wrote: Ako zabranis int u toku izvrsenja int-a, onda gubis informaciju o interaptu nizeg prioriteta koji se desio za vreme izvrsavanja interapta viseg prioriteta. Nema fizickog smisla nikakvog.
Ne bi trebalo da je ovako. Fleg za prekid koji je postavljen nekim događajem ostaje podignut, samo je unutrašnjom logikom onemogućen prekid. Kad ponovo u kodu omogućiš, taj prekid će se i dogoditi. Zato se kod inicijalizacije prekida obično prvo obriše odgovarajući fleg pa se potom omogući i sam prekid da ne bi došlo do lažnog prekida. E sad ja sam Atmele koristio davno, još AVR seriju, pa nisam siguran. Možeš li Vojine ovo da proveriš nekako?
A istina je da nema nekog smisla onemogućavati prekide ako se koriste.
Znam samo da Microchip ima preporuku da se prilikom upisa u interni EEPROM onemoguće svi prekidi brisanjem globalnog interrupt flega ali to je već druga priča.