eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZagwozdka w C Keil. › Re: Zagwozdka w C Keil.
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.mixmin.net!news.neodome.net!news.uzoreto.com!npeer.de.kpn-eurorings.
    net!npeer-ng0.de.kpn-eurorings.net!feeder1-1.proxad.net!proxad.net!feeder2-2.pr
    oxad.net!cleanfeed1-b.proxad.net!nnrp1-1.free.fr!not-for-mail
    From: Mateusz Viste <m...@n...pamietam>
    Subject: Re: Zagwozdka w C Keil.
    Newsgroups: pl.misc.elektronika
    References: <q3q59d$hp9$1@node1.news.atman.pl> <q3qb1a$20r$1@node2.news.atman.pl>
    <q3qc2g$30s$1@node2.news.atman.pl> <q3rdn2$gl$1@node2.news.atman.pl>
    User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    Date: 11 Feb 2019 10:10:21 GMT
    Lines: 31
    Message-ID: <5c614a0c$0$3527$426a74cc@news.free.fr>
    Organization: Guest of ProXad - France
    NNTP-Posting-Date: 11 Feb 2019 11:10:21 CET
    NNTP-Posting-Host: 82.64.0.151
    X-Trace: 1549879821 news-2.free.fr 3527 82.64.0.151:53800
    X-Complaints-To: a...@p...net
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:740912
    [ ukryj nagłówki ]

    On Mon, 11 Feb 2019 10:02:24 +0100, Grzegorz Niemirowski wrote:
    >> Może należało by sprawdzić najpierw jedną połówkę, później drugą i
    >> ponownie pierwszą, dla pewności.
    >
    > Można.

    Niby można, ale to dalej będzie lichota, bo nic nie gwarantuje, że przy
    trzecim sprawdzaniu BAM! znów interrupt nie strzeli.
    Ktoś mógłby powiedzieć "no tak, ale to przerwanie wyzwala się raz na
    jakiś czas, kilka cykli CPU to za krótko by dwa razy zdążyło się
    wyzwolić" - ale to nie do końca słuszne założenie. Może być tak, że
    uruchomi się nasze przerwanie, zaraz za nim jakieś obce przerwanie które
    robi coś dłuuuugo i zaraz po nim znów wraca to nasze, z nowym (złośliwie
    ustawionym) DEL_STEP.

    > Można też zastosować sekcję krytyczną czyli wyłączyć przerwania
    > na moment testu.

    To tak. Ale moje skromne i niezobowiązujące zdanie jest takie, że z
    _disable() należy obchodzić się tak jak z goto. Są przypadki gdzie można
    się tym pokusić bo coś uprości i będzie wszystkim żyło się lepiej, ale
    jeśli tylko można - lepiej unikać, bo potem człowiek się uzależni i
    zacznie produkować potworki. No i oczywiście wyłączenie przerwań
    poskutkuje tym, że ich wykonywanie obarczone będzie jitterem (bo przy
    dłuższych sprawach przerwania nam się zakolejkują) - a to może być, w
    niektórych zastosowaniach/warunkach, jakimś problemem. Do tego takie
    ręczne wyłączanie przerwań wprowadza stan, o którym należy pamiętać (tj.
    nie zapomnieć o włączeniu przerwań z powrotem) - przy większym codeflow
    który może różnymi ścieżkami pobiec łatwo robi się wtedy mętlik.

    Mateusz

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: