[AVR] Ustawianie priorytetu przerwań

Gdzie się ustawia priorytety przerwań w AVR'ach (coś na wzór rejestru IP w 8051) ? Potrzebuję, by Timer2 i Timer1 miał priorytet przed Timer0.

K.

Reply to
Krzysztof
Loading thread data ...

W procedurze obsługi przerwań.

AVR wchodząc w obsługę przerwania blokuje wszystkie inne. Czyli na początku odblokuj przerwania które mają być obsłużone.

W twoim przypadku:

(zakładam że używasz tylko przerwań Timerów) W procedurce obsługi Timer0 na samym początku robisz SEI W pozostałych przerwaniach nie robisz nic. Timer1 i Timer2 są równorzędne, żadne żadnego nie przerwie.

Reply to
Slawomir Sidor

Krzysztof snipped-for-privacy@wp.pl napisał(a):

Proponuję zajrzeć do dokumentacji uC.AVR-y nie posiadają rejestru priorytetów ,jak 51-ki.Dowolne przrwanie blokuje wykonywanie się innych przerwań.Priorytet występuje tylko w przypadku jednoczesnego zgłoszenia kilku przerwań , wtedy to przerwanie o najniższym adresie wektora , będzie wykonane jako 1-sze.Aby osiągnąć cel o którym wspomniałeś , powinieneś "zrobić to" programowo.

Piotrek

Reply to
Piotrek Sz.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.