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
  • Data: 2013-02-19 00:56:17
    Temat: Re: Fast PWM - trójkąt zamiast sinusa na wyjściu
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 18.02.2013 21:55, Atlantis wrote:
    > W dniu 2013-02-18 21:15, Jakub Rakus pisze:
    >
    >> Skoro wypełniasz tablice stałymi wartościami to po co do tego zaprzęgać
    >> biednego avr i męczyć go liczeniem funkcji sinus? Policz sobie to w
    >> jakimś arkuszu i wrzuć samą tablice gotowych wartości - będziesz miał
    >> znacznie krótszy kod.
    >
    > Ostatecznie tak właśnie zrobiłem, dzięki temu mogłem dać tablicę jako
    > volatile const unsigned char. :)
    Dlaczego?

    volatile i const w jednym miejscu znaczy zazwyczaj "kompilatorze, zepsuj
    mi tu optymalizacje".

    Póki masz miejsce we flash to takie rzeczy powinieneś pakować w progmem.

    >
    > Jednak przy pierwszej próbie łatwiej było dać tą linijkę kodu
    > wypełniającego tabelę. Oczywiście zlecenie przeliczania wartości Atmedze
    > miało tę zaletę, że hex zajmował mniej,

    Myślę, ze raczej wynikało to z błędu w kodzie - z tego co widzę sinus
    miał stały argument, więc całe to "liczenie" sprowadziło się do
    podstawienia wartości 131. Liczenie sinusa to nie takie hop-siup bo
    powoduje wciągnięcie całej biblioteki zmiennoprzecinkowej - dodatkowe 4kB.

    > ale mam jeszcze na tyle wolnego
    > flasha, że nie muszę liczyć bajtów. ;)

    Masz eeprom na pokładzie - jak zacznie brakować to użyj go.

    --
    Pozdrawiam
    Michoo

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: