eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu › Re: AVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu
  • Data: 2011-02-11 12:24:36
    Temat: Re: AVR ATmega, pomiar częstotliwości przebiegu, prośba o sprawdzenie kodu
    Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2011-02-11 12:05, Robbo pisze:
    >> Jak już muszę użyć to często robię unię zmiennej volatile i bez
    >> volatile. Dzięki czemu nie mam nadmiarowego kodu np. w przerwaniach.
    >
    > Gdybyś mógł wyjaśnić, co daje taka konstrukcja...?

    W ogólności krótszy/szybszy kod. Użycie volatile to zakaz optymalizacji
    dla kompilatora. Poniżej masz prosty przykład z odmierzaniem opóźnienia
    przez przerwanie timera. Gdyby zmienna była volatile, to w przerwaniu
    musiałbyś ją pobrać dwa razy.

    union{
    volatile uint8_t V;
    uint8_t NV;
    }aqq;


    ISR(od_jakiegos_timera){
    if (aqq.NV != 0) aqq.NV--;
    }

    main(){

    aqq.V = 100;
    while(aqq.V != 0);
    }

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: