AVR i przerwania



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "EM" <edim123_at_nospam_poczta.onet.pl>
Subject: AVR i przerwania
Date: Thu, 20 Feb 2003 09:39:45 +0100


Witam
Mam pytanie odnośnie przerwań w prockach AVR Atmela.
Otóż piszę program na AT90S2313 z użyciem AVRStudio 3.56.
Mam problem z przerwaniami.
Używam (na razie) przerwania zewnętrznego INT0 oraz od przepełnienia
Timera0.
Przerwanie INT0 ma wyższy priorytet od TIM0_OVF.
Byłem przygotowany na to, że w czasie obsługi przerwania TIM0_OVF,
wystąpienie przerwania INT0 spowoduje natychmiastową jego obsługę. Tymczasem
przerwanie TIM0_OVF jest wykonywane do końca i dopiero potem następuje
obsługa INT0.
Najpierw zastanawiałem się, czy to nie jest przypadkiem błąd symulatora.
Jednak w pdfie do procka nie znalazłem informacji na temat wyskoczenia z
jednego przerwania do drugiego (może źle patrzyłem).
Proszę o zdanie doświadczonych użytkowników AVRów.
Pozdrawiam
EM



========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Tuptuś" <tuptus26_at_nospam_wp.pl>
Subject: Re: AVR i przerwania
Date: Thu, 20 Feb 2003 09:50:48 +0100


Zobacz co robi w rejestrach funkcja powrotu z przerwania i trzeba tk ustaiwć
rejestry.
Owszem ma wyższy priorytet podczas, gdy rywalizują o wywołanie przerwania.
Tuptuś

Użytkownik "EM" <edim123_at_nospam_poczta.onet.pl> napisał w wiadomości
news:b3243g$si0$1_at_nospam_news.onet.pl...
Witam
Mam pytanie odnośnie przerwań w prockach AVR Atmela.
Otóż piszę program na AT90S2313 z użyciem AVRStudio 3.56.
Mam problem z przerwaniami.
Używam (na razie) przerwania zewnętrznego INT0 oraz od przepełnienia
Timera0.
Przerwanie INT0 ma wyższy priorytet od TIM0_OVF.
Byłem przygotowany na to, że w czasie obsługi przerwania TIM0_OVF,
wystąpienie przerwania INT0 spowoduje natychmiastową jego obsługę.
Tymczasem
przerwanie TIM0_OVF jest wykonywane do końca i dopiero potem następuje
obsługa INT0.
Najpierw zastanawiałem się, czy to nie jest przypadkiem błąd symulatora.
Jednak w pdfie do procka nie znalazłem informacji na temat wyskoczenia z
jednego przerwania do drugiego (może źle patrzyłem).
Proszę o zdanie doświadczonych użytkowników AVRów.
Pozdrawiam
EM





========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsfeed.gazeta.pl!news.atcom.net.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Artur Lipowski <lal_at_nospam_pro.onet.pl>
Subject: Re: AVR i przerwania
Date: Thu, 20 Feb 2003 09:28:03 +0000 (UTC)


In article <b3243g$si0$1_at_nospam_news.onet.pl>, EM wrote:
...
Przerwanie INT0 ma wyższy priorytet od TIM0_OVF.
Byłem przygotowany na to, że w czasie obsługi przerwania TIM0_OVF,
wystąpienie przerwania INT0 spowoduje natychmiastową jego obsługę. Tymczasem
przerwanie TIM0_OVF jest wykonywane do końca i dopiero potem następuje
obsługa INT0.
...

Pewnie to jest oczywiste, ale dla porządku zapytam tylko, jak obsługujesz
przerwanie timera:
timera?
przerwania lub nie)?

Pozdrawiam,
--
Artur Lipowski
--
http://www.komrel.net - Twoj Serwer Sukcesu!


========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Jerzy Szczesiul" <jerzy.szczesiul_at_nospam_ep.com.pl>
Subject: Re: AVR i przerwania
Date: Thu, 20 Feb 2003 10:34:18 +0100


Czesc

Użytkownik EM <edim123_at_nospam_poczta.onet.pl> w wiadomości do grup dyskusyjnych
napisał:b3243g$si0$1_at_nospam_news.onet.pl...
Witam
Mam pytanie odnośnie przerwań w prockach AVR Atmela.
<pdf>
When an interrupt occurs, the Global Interrupt Enable I-bit is cleared and
all interrupts
are disabled. The user software can write logic one to the I-bit to enable
nested inter-rupts.
All enabled interrupts can then interrupt the current interrupt routine. The
I-bit is
automatically set when a Return from Interrupt instruction - RETI - is
executed.
</pdf>


--
Pozdrowienia
Jurek Szczesiul



========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!news.astercity.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: ktom <ktom2_at_nospam_poczta.fm>
Subject: Re: AVR i przerwania
Date: Thu, 20 Feb 2003 10:47:00 +0100


Dnia 03-02-20 09:39, Użytkownik EM napisał:
Przerwanie INT0 ma wyższy priorytet od TIM0_OVF.
Byłem przygotowany na to, że w czasie obsługi przerwania TIM0_OVF,
wystąpienie przerwania INT0 spowoduje natychmiastową jego obsługę. Tymczasem
przerwanie TIM0_OVF jest wykonywane do końca i dopiero potem następuje
obsługa INT0.
Aby inne przerwanie (INT0) moglo byc obsluzone podczas wykonywania
przerwania (TIM0_OVF) nalezy wstawic rozkaz SEI (oblokuj przerwania).
Rozkaz wstawiamy w procedurze przerwania, ktore moze byc przerywane,
czyli w TIM0_OVF.
Miejsce tego rozkazu powino byc przemyslane.
Moze byc wstawione po reinicjowaniu licznika T0 i po wykonaniu sekcji
krytycznych w tym przerwaniu.
Czas obslugi przerwania INT0 nie moze przekraczac czasu, ktory zostal do
zgloszenia nastepnego TIM0_OVF, bo nie uzyskasz stalego interwalu
czasowego TIM0


Tomek


========
Path: news-archive.icm.edu.pl!news.rmf.pl!poznan.rmf.pl!news.man.poznan.pl!news.nask.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "EM" <edim123_at_nospam_poczta.onet.pl>
Subject: Odp: AVR i przerwania
Date: Thu, 20 Feb 2003 10:59:32 +0100


Dziękuję wszystkim za odpowiedzi.
Wynika z tego, że jednak niedokładnie przeczytałem pdfa.
Teraz już wszystko jasne.
Pozdrawiam
EM



========
Path: news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news-stoc.telia.net!news-stoa.telia.net!telia.net!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai