logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR - funkcja opóźniająca ze zmiennym argumentem

xamrex 27 Wrz 2012 19:30 1788 2
REKLAMA
  • #1 11354443
    xamrex
    Poziom 28  
    Witam,
    Jest taki problem,
    Mam diodę, której wypełnienie reguluję przez PWM.

    Kod wygląda tak:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Tylko jest problem w tym, że przy takim zapisie zajęło mi dużo pamięci..
    Spowodowane jest to chyba tym, że funkcja _delay_ms jako argument przyjmuje wartość która nie może być obliczona na etapie kompilacji..

    Ten argument delay wysyłam po RSie.
    Czy da się jakoś zmniejszyć kod?

    Czy dobrym rozwiązaniem będzie napisanie samemu funkcji opóźniającej np.
    np. takiego fora:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 11354589
    TQelektronik
    Poziom 11  
    Witam,

    można napisać własną funkcję, która będzie w pętli wywoływać _delay_ms(1). Liczba iteracji da wtedy opóźnienie w ms.
    Można także wykorzystać timer do generowania opóźnień jeśli jest jakiś wolny.


    Pozdrawiam,
    TQelektronik

    Dodane:

    Tutaj [url=]http://mikrokontrolery.blogspot.com/2011/04/gcc-avr-funkcje-opoznienia-delay.html[/url] jest dokładnie opisany problem.
  • #3 11354620
    xamrex
    Poziom 28  
    TQelektronik chyba zastosuję tę funkcję, która będzie wywoływać funkcję delay_ms.
    Dzieki.
REKLAMA