Witam.
Jestem początkójący w uP i w związku z tym pojawił się problem.
Jak ustawić kolejność przerwań , gdzieś czytałem ,że można to zrobić sprzętowo jak i programowo (wolał bym ten pierwszy sposób).
Programuje w C ,używam środowiska WinAVR a procek to at90s2313.
Dziękuje z góry .
Jak ustawić kolejnośc przerwań
Mikrokontrolery AVR nie mają możliwości zmiany priorytetów przerwań (ani sprzętowo ani programowo). Można jedynie blokować przerwania o wyższym priorytecie, tak aby nie zakłócały wykonywania procedury obsługi przerwania o niższym priorytecie i ewentualnie odpowiednio reagować zerowaniem flag zgłoszenia przerwania. Podaj jakieś szczegóły, jakie przerwania chcesz "kolejkować" i w jaki sposób.
Witam.
Konkretnie chciałbym żeby przerwanie od przepełnienia timera 16 bit miało wyższy priorytet niż przerwanie od przechwycenia wartości.
A w jaki sposób to zrobić, tego właśnie chciał bym się dowiedzieć najlepiej na jakimś prostym przykłądzie w C nie koniecznie z użyciem tych przerwań.
Pozdrawiam.
Konkretnie chciałbym żeby przerwanie od przepełnienia timera 16 bit miało wyższy priorytet niż przerwanie od przechwycenia wartości.
A w jaki sposób to zrobić, tego właśnie chciał bym się dowiedzieć najlepiej na jakimś prostym przykłądzie w C nie koniecznie z użyciem tych przerwań.
Pozdrawiam.
A czy podczas wykonywania procedury obsługi przerwania od przechwycenia, ustawienie flagi przepełnienia T1 ma powodować zawieszenie wykonywania tej pierwszej i przejscie do drugiej i dopiero po jej zakonczeniu wrocic do procedury od przechwycenia? Bo jesli nie to w sumie wystarczy jesli zrobisz tak:
To spowoduje, że jak w czasie wykonywania przerwania od przepełnienia T1 nastąpi zgłoszenie przerwania od przechwycenia wartości to zostanie ono obsłużone dopiero po zakończeniu procedury OVERFLOW1.
Kod: Zaznacz cały
SIGNAL(SIG_OVERFLOW1)
{
cli(); //blokujemy przerwania na czas obsługi
...
Twoje instrukcje
...
sei(); //z powrotem włączamy przerwania
"A czy podczas wykonywania procedury obsługi przerwania od przechwycenia, ustawienie flagi przepełnienia T1 ma powodować zawieszenie wykonywania tej pierwszej i przejscie do drugiej i dopiero po jej zakonczeniu wrocic do procedury od przechwycenia?" - dokładnie o to mnie chodzi!! czy mógł byś dać jakiś przykłąd na zrealizowanie tego był bym wdzięczny?
[ Dodano: 01-08-2005, 17:10 ]
czy ktoś wie jak zrealizować tego typu przerwanie ?
[ Dodano: 01-08-2005, 17:10 ]
czy ktoś wie jak zrealizować tego typu przerwanie ?