eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu › Re: AVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!new
    s.nask.org.pl!news.task.gda.pl!not-for-mail
    From: "Marcin Wasilewski" <j...@a...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie
    kodu
    Date: Wed, 9 Feb 2011 15:56:27 +0100
    Organization: CI TASK http://www.task.gda.pl/
    Lines: 24
    Message-ID: <iiu9v4$nlk$1@news.task.gda.pl>
    References: <4d528e6b$0$2436$65785112@news.neostrada.pl>
    NNTP-Posting-Host: host-81-190-189-35.kwidzyn.mm.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: news.task.gda.pl 1297263396 24244 81.190.189.35 (9 Feb 2011 14:56:36 GMT)
    X-Complaints-To: a...@n...task.gda.pl
    NNTP-Posting-Date: Wed, 9 Feb 2011 14:56:36 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5994
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:604495
    [ ukryj nagłówki ]

    Użytkownik "Robbo" <y...@m...com> napisał w wiadomości
    news:4d528e6b$0$2436$65785112@news.neostrada.pl...

    > W szczególności chciałem zapytać o to, czy poprawnie zastosowałem cli() i
    > sei() w procedurach obsługi przerwań.

    Widzisz, tak to jest jak się nigdy żadnego kodu w assemblerze na AVR-a nie
    napisało.

    Otóż procesor AVR wchodząc w obsługę przerwania sam wyłącza przerwania. Więc
    stan jest taki, że do czasu zakończenia obsługi aktualnego przerwania,
    obsługa kolejnych przerwań jest wyłączona.

    Więc cli() po wejściu w obsługę przerwania nie ma sensu (bo przerwania już
    są wyłączone), natomiast sei() dajesz wtedy jak chcesz włączyć ręcznie
    obsługę przerwań, co oczywiście jest możliwe, tylko na stos trzeba uważać
    (jeśli tych przerwań jest dużo w jednostce czasu).

    sei() na końcu też nie ma sensu, ponieważ procedury obsługi przerwania nie
    opuszcza się poprzez ret, tylko poprzez reti, będące niczym innym jak
    połączeniem: ret + sei.



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: