RTV forum PL | NewsGroups PL

Jak w AVR ustawić priorytety przerwań podobnie jak w 8051?

AVR - priorytety przerwa

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak w AVR ustawić priorytety przerwań podobnie jak w 8051?

Luk@sz
Guest

Sun Dec 17, 2006 3:57 pm   



Witam
Nie mogę sie doczytać, czy rodzina AVR posiada coś takiego jak
priorytety przerwań? Tzn. jedno przerwanie jest nadrzędne względem
innych. Może jest jakaś sprzętowa obsługa jak w '51 żeby nie robić tego
na piechotę? Z góry dzięki za wszelką pomoc.

Pozdrawiam

BartekK
Guest

Sun Dec 17, 2006 4:07 pm   



Luk@sz napisał(a):
Quote:
Witam
Nie mogę sie doczytać, czy rodzina AVR posiada coś takiego jak
priorytety przerwań? Tzn. jedno przerwanie jest nadrzędne względem
innych. Może jest jakaś sprzętowa obsługa jak w '51 żeby nie robić tego
na piechotę? Z góry dzięki za wszelką pomoc.
Niestety, nie ma priorytetow. Przerwania sa obslugiwane w kolejnosci

wystapienia, a wielokrotne wystapienie przerwania X w trakcie obslugi
przerwania Y zostanie zarejestrowane tylko jako jednokrotne...

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

DJ
Guest

Sun Dec 17, 2006 4:29 pm   



BartekK napisał(a):
Quote:
Luk@sz napisał(a):
Witam
Nie mogę sie doczytać, czy rodzina AVR posiada coś takiego jak
priorytety przerwań? Tzn. jedno przerwanie jest nadrzędne względem
innych. Może jest jakaś sprzętowa obsługa jak w '51 żeby nie robić tego
na piechotę? Z góry dzięki za wszelką pomoc.
Niestety, nie ma priorytetow. Przerwania sa obslugiwane w kolejnosci
wystapienia, a
E... coś pomieszałeś? Przecież są priorytety, jest o tym w każdym

datasheet, im nizszy adres wektora tym wyższy priorytet ma przerwanie.

Przecież można obsłużyć przerwanie o wyższym priorytecie podczas
trwania obsługi niższego. Widzę że jesteś zwolennikiem
wyłączonego bitu IE przez caly czas obslugi każdego przerwania...

Quote:
wielokrotne wystapienie przerwania X w trakcie obslugi
przerwania Y zostanie zarejestrowane tylko jako jednokrotne...
Tylko w wypadku kiedy nie skończysz obsługiwać przerwania X zanim

nadejdzie kolejne zgłoszenie od X.

--
DJ

DJ
Guest

Sun Dec 17, 2006 4:41 pm   



DJ napisał(a):

Quote:
wielokrotne wystapienie przerwania X w trakcie obslugi
przerwania Y zostanie zarejestrowane tylko jako jednokrotne...

Tylko w wypadku kiedy nie skończysz obsługiwać przerwania X zanim
nadejdzie kolejne zgłoszenie od X.

E, co ja gadam... tu jest jeszcze inaczej. Kolejne zgłoszenie od X,
może przyjść już po tym jak zaczniesz obsługiwać poprzednie od X.
Przecież flaga zgłoszenia przerwania jest kasowana sprzętowo tuż po
rozpoczęciu jego obsługi... I już można zaflagować następną
obsługę...

--
DJ

Zbych
Guest

Sun Dec 17, 2006 6:03 pm   



DJ przemówił ludzkim głosem:

Quote:
E... coś pomieszałeś? Przecież są priorytety, jest o tym w każdym
datasheet, im nizszy adres wektora tym wyższy priorytet ma przerwanie.

To o czym piszesz to kolejność obsługi przerwań, a nie priorytet.

Quote:
Przecież można obsłużyć przerwanie o wyższym priorytecie podczas
trwania obsługi niższego. Widzę że jesteś zwolennikiem
wyłączonego bitu IE przez caly czas obslugi każdego przerwania...

Ale w ten sposób nie możesz zdecydować o tym, _które_ przerwanie może
przerwać (czyli ma wyższy priorytet) obsługę bieżącego przerwania, a
które nie (bo ma niższy priorytet).

BartekK
Guest

Sun Dec 17, 2006 6:33 pm   



DJ napisał(a):
Quote:
Nie mogę sie doczytać, czy rodzina AVR posiada coś takiego jak
priorytety przerwań? Tzn. jedno przerwanie jest nadrzędne względem
Niestety, nie ma priorytetow. Przerwania sa obslugiwane w kolejnosci
wystapienia, a
E... coś pomieszałeś? Przecież są priorytety, jest o tym w każdym
datasheet, im nizszy adres wektora tym wyższy priorytet ma przerwanie.
A jak zrobisz zeby przerwanie X mialo "wyzszy priorytet" od przerwania Y

? A chwile pozniej, by bylo odwrotnie? Adresy wektorow sa "na stale" w
flashu zlokalizowane, nie da sie tutaj nic zmienic, oprocz tego ze jakis
tam priorytet jest i koniec.

--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098 http://drut.org/
| http://www.allegro.pl/show_user_auctions.php?uid=338173

DJ
Guest

Sun Dec 17, 2006 7:57 pm   



BartekK napisał(a):
Quote:
DJ napisał(a):
Nie mogę sie doczytać, czy rodzina AVR posiada coś takiego jak
priorytety przerwań? Tzn. jedno przerwanie jest nadrzędne względem
Niestety, nie ma priorytetow. Przerwania sa obslugiwane w kolejnosci
wystapienia, a
E... coś pomieszałeś? Przecież są priorytety, jest o tym w każdym
datasheet, im nizszy adres wektora tym wyższy priorytet ma przerwanie.
A jak zrobisz zeby przerwanie X mialo "wyzszy priorytet" od przerwania Y
? A chwile pozniej, by bylo odwrotnie? Adresy wektorow sa "na stale" w
flashu zlokalizowane, nie da sie tutaj nic zmienic, oprocz tego ze jakis
tam priorytet jest i koniec.

No i to właśnie jest priorytet. Nikt tu nigdzie nie pytał o zmianę
priorytetów runtime.
Pisałeś że priorytetów w AVR nie ma. Ja piszę że ma. Tyle. Nie
mieszajmy pojęć.

--
DJ

Luk@sz
Guest

Mon Dec 18, 2006 12:59 am   



DJ napisał(a):
Quote:
Przecież można obsłużyć przerwanie o wyższym priorytecie podczas
trwania obsługi niższego. Widzę że jesteś zwolennikiem
wyłączonego bitu IE przez caly czas obslugi każdego przerwania...

Dziękuję wszystkim za uwagi. Uściślając to pisząc priorytety przerwań
miałem na myśli możliwość przyjęcia przerwania X podczas trwania obsługi
przerwania Y. Z tego co udało mi się zorientować to w rodzinie AVR nie
ma możliwości zmiany tych priorytetów i są one ustalone na stałe.
Liczyłem na jakieś zgrabne, sprzętowe rozwiązanie ale jednak bez
gimnastyki się nie obejdzie. W tym momencie ukłon w stronę starej
poczciwej '51 :)

Pozdrawiam

Mister
Guest

Mon Dec 18, 2006 9:39 am   



Quote:
Dziękuję wszystkim za uwagi. Uściślając to pisząc priorytety przerwań
miałem na myśli możliwość przyjęcia przerwania X podczas trwania obsługi
przerwania Y. Z tego co udało mi się zorientować to w rodzinie AVR nie
????


Przecież możesz przyjąć nawet 100 innych przerwan X podczas obsługi
przerwania Y.
Ja nie widzę tu żadnego problemu. A w 51 to nie było MOŻLIWE.
Nie róbmy problemów tam gdzie ich nie ma.

Mister

Heliogabal
Guest

Mon Dec 18, 2006 5:00 pm   



Użytkownik "Mister":
Quote:
Przecież możesz przyjąć nawet 100 innych przerwan X podczas obsługi
przerwania Y.
Ja nie widzę tu żadnego problemu. A w 51 to nie było MOŻLIWE.

W 51 to jest takze mozliwe !

Heliogabal

elektroda NewsGroups Forum Index - Elektronika Polska - Jak w AVR ustawić priorytety przerwań podobnie jak w 8051?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map