eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje?Re: Dlaczego ATmega128 przekłamuje?
  • Data: 2009-10-16 14:22:42
    Temat: Re: Dlaczego ATmega128 przekłamuje?
    Od: Konop <k...@g...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie 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: