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
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!goblin2!goblin3!goblin.stu.neva.ru!nntp.xenet.de!nntp.harz
    .de!news.xenet.de!news.harz.de!news.rz.tu-clausthal.de!.POSTED!not-for-mail
    From: Michal Schulz <m...@t...de>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Fast PWM - trójkąt zamiast sinusa na wyjściu
    Date: Mon, 11 Mar 2013 16:43:23 +0100
    Organization: Clausthal University of Technology
    Lines: 34
    Message-ID: <khku2r$1s79$1@ariadne.rz.tu-clausthal.de>
    References: <kfo8i2$v93$1@portraits.wsisiz.edu.pl> <kfu24t$8te$1@node2.news.atman.pl>
    <kfu4gt$sd6$1@portraits.wsisiz.edu.pl> <kfufhu$u30$1@mx1.internetia.pl>
    <kg30ln$pkg$1@portraits.wsisiz.edu.pl>
    NNTP-Posting-Host: efzn038.efzn.tu-clausthal.de
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: ariadne.rz.tu-clausthal.de 1363016603 61673 139.174.65.55 (11 Mar 2013
    15:43:23 GMT)
    X-Complaints-To: u...@a...rz.tu-clausthal.de
    NNTP-Posting-Date: Mon, 11 Mar 2013 15:43:23 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130216
    Thunderbird/17.0.3
    In-Reply-To: <kg30ln$pkg$1@portraits.wsisiz.edu.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:644194
    [ ukryj 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: