Atmel AVR, nieobciazajaca petla nieskonczona



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Vicky" <vickyBADMAIL_at_nospam_hotmail.com>
Subject: Atmel AVR, nieobciazajaca petla nieskonczona
Date: Tue, 9 Nov 2004 10:21:55 +0100


Witam,

Mam procesor Atmel AVR. Aplikacja, ktora tworze
polega na tym, ze do procesora podawane sa dwa sygnaly,
ktore generuja przerwania wykonujace jakies podprogramy.
Sam procesor nie ma nic do roboty i w glownym
programie powinna byc petla nieskonczona.
I tu pytanie o dzialanie procesora: jesli przyjdzie przerwanie,
to czy program glowny jest przerywany i wykonywany
jest w calosci program obslugi przerwania? Jesli tak,
to nie jest istotne, jak zrealizuje petle nieskonczona w
programie glownym.
Jesli wywolane jest drugie przerwanie, gdy obsluga
pierwszego jeszcze sie nie skonczyla, to w jakis sposob
zachowuje sie procesor? Wykonuje na przemian po
jednym rozkazie podprogramu dla poszczegolnych
przerwan?

Z gory dziekuje za odpowiedzi.
Vicky.



Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Gawryś" <profrook_TO_USUN__at_nospam_o2.pl>
Subject: Re: Atmel AVR, nieobciazajaca petla nieskonczona
Date: Tue, 9 Nov 2004 10:50:23 +0100


Użytkownik "Vicky" <vickyBADMAIL_at_nospam_hotmail.com> napisał w wiadomości
news:cmq2eg$ej2$1_at_nospam_nemesis.news.tpi.pl...
Witam,

Mam procesor Atmel AVR. Aplikacja, ktora tworze
polega na tym, ze do procesora podawane sa dwa sygnaly,
ktore generuja przerwania wykonujace jakies podprogramy.
Sam procesor nie ma nic do roboty i w glownym
programie powinna byc petla nieskonczona.

np.

for(;;);

w C

I tu pytanie o dzialanie procesora: jesli przyjdzie przerwanie,
to czy program glowny jest przerywany i wykonywany
jest w calosci program obslugi przerwania? Jesli tak,
to nie jest istotne, jak zrealizuje petle nieskonczona w
programie glownym.

Dokładnie tak, przerwania mają zawsze wyższy piorytet niż program główny.

Jesli wywolane jest drugie przerwanie, gdy obsluga
pierwszego jeszcze sie nie skonczyla, to w jakis sposob
zachowuje sie procesor? Wykonuje na przemian po
jednym rozkazie podprogramu dla poszczegolnych
przerwan?

Taka sytuacja nie może mieć miejsca, system obsługi przerwań w AVR, wyłącza
bit "I" w rejestrze SREG procesora i dopiero albo ustawienie tego bitu z
ciała programu, albo powrót z funkcji obsługi przerwania poprzez instrukcję
RETI, która ustawia bit "I" w SREG, uaktywnia system przerwań.

Natomiast w przypadku równoległego zaistnienia zgłoszenia dwóch przerwań
(oba w tym samym cyklu zegara), decyzja o tym które przerwanie zostaje
wywołane jako pierwsze, ustalana jest na podstawie piorytetu przerwania.
Wyższy piorytet zawsze ma pierwszeństwo w powyższej sytuacji.

K.



Poprzedni Następny
Wiadomość
Spis treści
From: Piotr Chmiel <piotr_at_nospam_topaz.zsel.lublin.pl>
Subject: Re: Atmel AVR, nieobciazajaca petla nieskonczona
Date: Tue, 9 Nov 2004 11:14:35 +0100


On Tue, 9 Nov 2004, Vicky wrote:

Mam procesor Atmel AVR. Aplikacja, ktora tworze
polega na tym, ze do procesora podawane sa dwa sygnaly,
ktore generuja przerwania wykonujace jakies podprogramy.
Sam procesor nie ma nic do roboty i w glownym
programie powinna byc petla nieskonczona.

I tu pytanie o dzialanie procesora: jesli przyjdzie przerwanie,
to czy program glowny jest przerywany i wykonywany
jest w calosci program obslugi przerwania?

Dok=B3adnie

Jesli tak, to nie jest istotne, jak zrealizuje petle nieskonczona w
programie glownym.

nie jest

Jesli wywolane jest drugie przerwanie, gdy obsluga
pierwszego jeszcze sie nie skonczyla, to w jakis sposob
zachowuje sie procesor?

Ko=F1czy obs=B3ug=EA pierwszego i zajmuje si=EA 2 :)

Wykonuje na przemian po
jednym rozkazie podprogramu dla poszczegolnych
przerwan?

Absolutnie , to nie praca choperowa jak w oscyloskopie :)


Poprzedni Następny
Wiadomość
Spis treści
From: "UdioS" <bialy_krolikWYTNIJTO_at_nospam_poczta.onet.pl>
Subject: Re: Atmel AVR, nieobciazajaca petla nieskonczona
Date: 9 Nov 2004 11:31:20 +0100


Witam,

Mam procesor Atmel AVR. Aplikacja, ktora tworze
polega na tym, ze do procesora podawane sa dwa sygnaly,
ktore generuja przerwania wykonujace jakies podprogramy.
Sam procesor nie ma nic do roboty i w glownym
programie powinna byc petla nieskonczona.
I tu pytanie o dzialanie procesora: jesli przyjdzie przerwanie,
to czy program glowny jest przerywany i wykonywany
jest w calosci program obslugi przerwania? Jesli tak,
to nie jest istotne, jak zrealizuje petle nieskonczona w
programie glownym.
Jesli wywolane jest drugie przerwanie, gdy obsluga
pierwszego jeszcze sie nie skonczyla, to w jakis sposob
zachowuje sie procesor? Wykonuje na przemian po
jednym rozkazie podprogramu dla poszczegolnych
przerwan?

podczas pracy programu gdy wystąpi przerwanie mikroprocesor zawiesza
wykonywane dotychczas czynnosci i przechodzi do obsługi przerwania.
Musisz pamietać, że podczas obsługi przerwania należy zapamiętać na stosie
zmienne które mogły by zostać zmienione w przerwaniu. W tym przypadku to nie
dotyczy, bo główna pętla nic nie wykonuje. Ja na ogół w takiej pętli
umieszczam kilka rozkazów 'nop' czyli nie rób nic.
kontynułując: jeżeli przyjdzie drugie przerwanie w momencie gdy mikroprocesor
wykonuje juz jakieś, to zostanie ono dopiero wykonane gdy zakończy się obsłóga
pierwszego.
Chyba, że załączycz (na początku przerwania) ogólne zezwolenie na przerwania.(
podczas rozpoczęcia obsługi przerwania mikroprocesor wyłancza obsługę przerwań
i załancza ją spowrotem gdy kończy obsługe przerwania) wówczas zostanie
przerwana ponownie przaca mikroprocesaora i zacznie on obsługiwać drógie
przerwanie. gdy skonczy je powróci do miejsca przerwania pierwszego
przerwania, skończy je i wróci w końcu do pętli głównej

Niewiem troszkę to chyba zamotałem, ale mam nadzieje że coś Ci to rozjaśni
sprawę

Pozdrawiam

UdioS

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "peters" <peters_at_nospam_poczta.onet.pl>
Subject: Re: Atmel AVR, nieobciazajaca petla nieskonczona
Date: Tue, 9 Nov 2004 13:22:33 +0100


podczas rozpoczęcia obsługi przerwania mikroprocesor wyłancza obsługę
przerwań
i załancza ją spowrotem

Bardzo Cie prosze: wyłącza i załącza

nie moglem sie powstrzymac, peters



Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Gałka" <piotr.galka_at_nospam_CUTTHISmicromade.pl>
Subject: Re: Atmel AVR, nieobciazajaca petla nieskonczona
Date: Tue, 9 Nov 2004 13:51:43 +0100



Użytkownik "peters" <peters_at_nospam_poczta.onet.pl> napisał w wiadomości
news:cmqd2l$r3t$1_at_nospam_nemesis.news.tpi.pl...
podczas rozpoczęcia obsługi przerwania mikroprocesor wyłancza
obsługę
przerwań
i załancza ją spowrotem

Bardzo Cie prosze: wyłącza i załącza

nie moglem sie powstrzymac, peters


"siłom i godnościom osobistom" - wężykiem Jasiu.
Też się nie mogłem.
P.G.