eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje?Re: Dlaczego ATmega128 przekłamuje?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Konop <k...@g...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dlaczego ATmega128 przekłamuje?
    Date: Fri, 16 Oct 2009 16:22:42 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 21
    Message-ID: <hb9vjg$dls$1@inews.gazeta.pl>
    References: <hb1sbu$qoq$1@news.lublin.pl> <hb1uet$fia$7@news.dialog.net.pl>
    <hb206d$t7q$1@news.lublin.pl> <hb46v6$5vf$2@atlantis.news.neostrada.pl>
    <hb48sg$8gj$1@news.task.gda.pl> <hb4bmb$t3a$1@srv.cyf-kr.edu.pl>
    <hb4efi$i1n$1@news.task.gda.pl> <hb4gsl$bd$1@atlantis.news.neostrada.pl>
    <4ad841a8$1@news.home.net.pl>
    NNTP-Posting-Host: apc206.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1255702960 14012 83.17.136.206 (16 Oct 2009 14:22:40 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 16 Oct 2009 14:22:40 +0000 (UTC)
    X-User: konoppo
    X-Antivirus: avast! (VPS 091015-0, 2009-10-15), Outbound message
    In-Reply-To: <4ad841a8$1@news.home.net.pl>
    X-Antivirus-Status: Clean
    User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:573547
    [ ukryj nagłówki ]

    > Z tego co pamiętam to chodziło o to, że przestawienie bitu w bajcie na
    > AVR wymaga więcej niż jednego rozkazu. No i w przykładzie przyjście
    > przerwania miedzy tymi rozkazami prowadziło do błędu.

    Niekoniecznie prowadzi do błędu... wszystko zależy od tego, co się z tym
    rejestrem w międzyczasie stanie... Typowo ustawianie bitu w jakiejś
    zmiennej (która siedzi w RAMie) wygląda tak:
    -pobieranie zmiennej do rejestru
    -operacja na rejestrze
    -zapis zmiennej do RAMu

    Jeśli po pobraniu i przed zapisaniem wystąpi przerwanie, które ZMIENI tę
    zmienną, wówczas po powrocie z przerwania program główny skasuje zmianę
    dokonaną w przerwaniu...
    Pisząc program trzeba uważać na takie rzeczy ;)... czasem taka sytuacja
    jest po prostu niegroźna. W innym wypadku trzeba rozdzielić zmienne
    aktualizowane w programie od tych aktualizowanych w przerwaniach, albo
    stosować CLI i SEI ;)...

    Pozdrawiam
    Konop

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: