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

[attiny2313][C] Sprzętowy PWM plus overflow

owocp 17 Lip 2011 17:19 1305 5
REKLAMA
  • #1 9728524
    owocp
    Poziom 10  
    Witam,

    Ostatnio zabrałem się za naukę obsługi sprzętowego PWM. Zrobiłem sobie już pulsującą diodę, tylko, że oparłem to na funkcjach typu _delay_ms(). Jako, że nie jest to zbyt dobre rozwiązanie, pomyślałem o inkrementowaniu używając do tego celu przerwania, dokładnie overflow. Czy istnieje możliwość zaprzęgnięcia obu tych funkcji timera w tym samym czasie?

    Pozdrawiam!

    Edit:

    Do tej pory udało mi się to zrealizować korzystając z dwóch timerów, ale czy nie jest to trochę marnowanie zasobów sprzętowych? Czy da się to uzyskać operując tylko na jednym?
  • REKLAMA
  • REKLAMA
  • Pomocny post
    #3 9728866
    Osmo
    Poziom 18  
    Można wywołać przerwanie TIMERA, w trybie PWM, w momencie przeładowania licznika, a więc gdy licznik przekroczy ustawioną dla danej rozdzielczości wartość maksymalną. Musisz tylko włączyć przerwania dla danego Timera. Oczywiście częstotliwość wywoływania tego przerwania jest ściśle powiązana z ustawieniami PWM (jest równa częstotliwości działania PWM).
    Więcej na ten temat znajdziesz w specyfikacji.
  • REKLAMA
  • #4 9728896
    owocp
    Poziom 10  
    Korzystając z podpowiedzi Kolegi Osmo, udało mi się wyskrobać coś takiego:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #6 9729117
    owocp
    Poziom 10  
    Mój problem rozwiązał już Kolega Osmo. Całość polegać miała na sterowaniu wypełnieniem z poziomu przerwania overflow. Dziękuję za pomoc.

    Pozdrawiam!
REKLAMA