eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaFast PWM - trójkąt zamiast sinusa na wyjściuRe: Fast PWM - trójkąt zamiast sinusa na wyjściu
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin3!goblin.stu.neva.ru!nntp.xenet.de!nntp.harz.de!news.xenet.de!ne
    ws.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:49:11 +0100
    Organization: Clausthal University of Technology
    Lines: 26
    Message-ID: <khkudn$1sag$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>
    <kg31bn$psg$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 1363016951 61776 139.174.65.55 (11 Mar 2013
    15:49:11 GMT)
    X-Complaints-To: u...@a...rz.tu-clausthal.de
    NNTP-Posting-Date: Mon, 11 Mar 2013 15:49:11 +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: <kg31bn$psg$1@portraits.wsisiz.edu.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:644197
    [ ukryj nagłówki ]

    Am 20.02.13 18:32, schrieb Atlantis:
    > I jeszcze jedno: czy odczytywanie wartości z tabeli przechowywanej w
    > pamięci flash bardzo spowolni wykonywanie programu? Pytam, ponieważ
    > odwołuję się do niej w przerwaniu, a jak wiadomo ono powinno się
    > wykonywać jak najszybciej...

    trzy cykle CPU zamiast dwoch. Tyle co nic.

    ps: nie napisales jakiego typu jest zmienna sinus_ind w twoim kodzie,
    zakladam ze 16-bitowa (typ int). Poniewaz twoja tablica sinusa ma 256
    bajtow mozesz uzyc 8-bitowego typu i napisac "brzydki" kod:

    unsigned char sinus_ind;

    ISR (TIMER0_OVF_vect)
    {
    OCR1A = pgm_read_byte(&sinus_buffer[sinus_ind++])

    TCNT0 = 182;
    }

    zmienna sinus_ind "przepelni sie" sama, po wartosci 255 kolejna
    inkrementacja ustawi zmienna na 0. "if ... else ..." mozesz sobie odpuscic.

    Tak tak, to jest brzydki styl ;)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: