eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaProblem lekko OT, ale w WinAVR ;-)Re: Problem lekko OT, ale w WinAVR ;-)
  • Data: 2009-06-13 12:17:34
    Temat: Re: Problem lekko OT, ale w WinAVR ;-)
    Od: Grzegorz Kurczyk <g...@c...slupsk.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Użytkownik T.M.F. napisał:
    > Co
    > wiecej gdybys dalej cops robil z ta zmienna w swojej procedurze to
    > kompilator jej pewnie ponownie by nie ladowal, czyli mialbys kolejne
    > dziwne bledy.

    Błędów by nie było pod warunkiem, że sei wylądowałoby na końcu tam gdzie
    je napisałem. W sekcji między cli, a sei program staje się jednowątkowy
    i nie ma powodu dla którego wartość tej zmiennej mogłby ulec zmianie,
    ale fakt... Samo volatile też nie załatwiłoby sprawy. Musi być połaczone
    z sekcją cli/sei.

    > Ale to ciagle twoja wina i nie ma co zwalac na gcc.

    Ale ja nigdzie nie twierdzę, że to nie moja wina :-) Pewnie, że moja.
    Wystarczyło dopisać volatile lub zastosować sekcję ATOMIC_BLOCK i jest
    ok. Poprostu kiedyś tam zasugerowałem się tym, że przecież volatile
    stosuje się po to aby wymusić każdorazowe czytanie zmiennej z pamięci, a
    moim celem było uniemożliwienie aby cokolwiek innego zmieniło wartość
    tej zmiennej na czas wykonywania wnętrza funkcji. A zmienna w tej
    funkcji czytana jest w sumie tylko raz. Takie małe odwrócenie problemu
    :-) I co gorsza/lepsza w starszych wersjach WinAVR kompilowało się to
    "po ludzku", co uśpiło moją czujność ;-)

    Jeszcze raz dziękuję Kolegom za cenne wskazówki.

    Pozdrawiam
    Grzegorz

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: