eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaFast PWM - trójkąt zamiast sinusa na wyjściu › Re: Fast PWM - trójkąt zamiast sinusa na wyjściu
  • Data: 2013-03-11 16:43:23
    Temat: Re: Fast PWM - trójkąt zamiast sinusa na wyjściu
    Od: Michal Schulz <m...@t...de> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Am 20.02.13 18:20, schrieb Atlantis:

    >> volatile i const w jednym miejscu znaczy zazwyczaj "kompilatorze, zepsuj
    >> mi tu optymalizacje".
    >
    > Kierowałem się analogią do wyczytanej kiedyś zasady, że wszystkie
    > zmienne globalne używane w przerwaniach powinny mieć "volatile" przy
    > definicji.

    Marna to zasada bo zbytnio uogolnia.

    >> Póki masz miejsce we flash to takie rzeczy powinieneś pakować w progmem.
    >
    > Jak rozumiem masz na myśli użycie avr/pgmspace.h i zdefiniowanie tablicy
    > przez:
    >
    > prog_char sinus_buffer[] = {wartość 1, wartość 2, .., wartość n};
    >
    > oraz odczyt przez:
    >
    > pgm_read_byte(&sinus_buffer[sinus_ind])

    Dokladnie o to chodzilo. Trzymanie tablicy ze stalymi w RAM to
    marnotrastwo pamieci ktorej Atmel ma dosc malo. Tak samo jak trzymanie
    tam np. wszelkich lancuchow tekstowych.

    > Rozumiem, że przy definicji takiej tabeli nie muszę stosować "volatile",
    > nawet jeśli będę się do niej odwoływał w przerwaniu?

    Ale po co tam mialo by byc volatile? to slowo informuje kompilator, ze
    zawartosc pamieci moze ulec zmianie w sposob dla kompilatora malo
    przewidywalny, innymi slowy kompilatorowi nie wolno optymalizowac
    dostepu do zmiennej.

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: