eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikauC poczatekRe: uC poczatek
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
    sfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
    From: "T.M.F." <t...@n...mp.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: uC poczatek
    Date: Tue, 10 Mar 2009 00:29:20 +0100
    Organization: TP - http://www.tp.pl/
    Lines: 56
    Message-ID: <gp498q$l9l$1@nemesis.news.neostrada.pl>
    References: <0...@n...onet.pl> <gouufp$gcl$1@achot.icm.edu.pl>
    <gp081g$ihb$1@atlantis.news.neostrada.pl> <gp08ni$o99$1@achot.icm.edu.pl>
    <gp0a53$18qt$1@news.mm.pl> <gp0ak0$qh2$1@achot.icm.edu.pl>
    <gp0b8v$1m2l$1@news.mm.pl> <gp0cin$sst$1@achot.icm.edu.pl>
    <gp0d3q$2rh8$1@news.mm.pl> <gp0dr1$ucs$1@achot.icm.edu.pl>
    <gp0f0s$ot3$1@news.mm.pl> <gp0g1h$1ih$1@achot.icm.edu.pl>
    <gp0ibf$2cps$1@news.mm.pl> <gp0k20$64u$1@achot.icm.edu.pl>
    <gp0lo0$177l$1@news.mm.pl> <gp0p93$be5$1@achot.icm.edu.pl>
    <gp1k34$rm3$1@atlantis.news.neostrada.pl>
    <gp38ad$r70$1@atlantis.news.neostrada.pl>
    <gp3htg$dgs$1@nemesis.news.neostrada.pl>
    <gp3khc$i3v$1@nemesis.news.neostrada.pl>
    <gp3mp0$leu$1@nemesis.news.neostrada.pl>
    <gp3nl0$5n7$1@atlantis.news.neostrada.pl> <gp3vj8$5qk$1@news.mm.pl>
    <gp412d$a5u$1@nemesis.news.neostrada.pl> <gp40vj$sis$1@news.mm.pl>
    <gp42qf$d2r$1@nemesis.news.neostrada.pl> <gp42pe$1v2v$1@news.mm.pl>
    <gp4649$hvd$1@nemesis.news.neostrada.pl> <gp472s$19ns$1@news.mm.pl>
    NNTP-Posting-Host: dvq167.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: nemesis.news.neostrada.pl 1236641882 21813 83.22.50.167 (9 Mar 2009 23:38:02
    GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Mon, 9 Mar 2009 23:38:02 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.19 (X11/20090105)
    In-Reply-To: <gp472s$19ns$1@news.mm.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:559284
    [ ukryj nagłówki ]

    Zbych pisze:
    > T.M.F. pisze:
    >
    >> Zreszta policzmy ile to kosztuje
    >> Najgorszy mozliwy wariant, czyli rejestr kontrolny jest spoza zasiegu
    >> sbi/cbi:
    >> PUSH R16
    >> LD R16,rejestr z flaga
    >> ORI R16, blokowane przerwania
    >> STS rejestr, R16
    >> SEI
    >>
    >> Zajelo to 5 taktow.
    >
    > Bo miałeś tylko jedną flagę, nie zapamiętałeś jej stanu i nie
    > odtworzyłeś jej stanu przed zakończeniem przerwania.

    A po co mam zapamietywac jej stan? Skoro je blokuje to znaczy, ze
    wczesniej musialo byc odblokowane, jesli z danego przerwania nie
    korzystam to po co mialbym je blokowac? Taka potrzeba istnieje tylko
    kiedy mam wiecej niz 1-poziomowa obsluge przerwan, zreszta to co
    najwyzej 1 takt zegara.
    Czasu odtworzenia nie musze liczyc, bo krytyczny jest moment do
    odblokowania przerwan. Co sie dzieje potem w procedurze obslugi
    przerwania dla innych przerwan jest bez znaczenia. Wiec tego nie licze.
    A nawet liczac to porownaj czas RETI dla AVR i '51.

    > Policz ile zajmie
    > takie coś czasu jak będziesz miał kilkanaście działających w systemie
    > przerwań i będziesz chciał mieć kilka o wyższym priorytecie.

    No ile? Nawet odblokowywujac kilka zrodel przerwan obsluga zajmie mniej
    niz jednego dla '51.
    Widze, ze sprytnie usunales moje info, ze na '51 to zajmuje 36-108 cykli
    zegara!!! Dla kazdego przyjetego przerwania! W porownaniu do tego moje
    nawet 12 cykli na przerwanie nic nie znaczy.

    > Po to, żeby tak nie cudować wymyślono priorytety.

    Programowo to tak samo skomplikowane jak zabawa z rejestrami, zeby
    ustawic kontroler. Zreszta w ogole tego nie zauwazam, bo mi to zalatwia
    klasa napisana w C++, ktora jest skladnikiem HAL w moim projekcie.
    BTW, ten sam program po zmianie paru klas realizujacych abstrakcje od
    sprzetu kompiluje na PC i o dziwo... dziala.

    >> BTW, o co ci chodzi z tym UARTem?
    >
    > Tak ciężko przeczytać dokumentację? Nie można odblokować przerwań na
    > przed odbiorem/wysłaniem znaku, bo ci się przerwanie zapętli. Więc
    > odpada pomysł z odblokowywaniem przerwań, tuż po wejściu w przerwanie.

    Jak mi sie zapetli? Jesli odblokuje przerwanie Rx lub Tx UARTa to
    znaczy, ze chce je obsluzyc. Zostanie ono natychmiast zgloszone, a
    procedura obslugi musi na poczatku je skasowac, albo poprzez
    zablokowanie flagi, albo poprzez odebranie znaku. W czym problem? Nic mi
    sie nie zapetli bo przerwania sa przy zgloszeniu blokowane.

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: