Atmega32
Atmega32
Jak skonfigurować w bascom timer0 aby pracował w trybie pwm??
-
ZbeeGin
Bezpośrednio z polecenia CONFIG TIMER0 tego nie wykonasz. Musisz samemu pozapisywać odpowiednie wartości do rejestrów podpierając się notą katalogową (strony 78-81). 
Przykładowo, używając nomenklatury BASCOMa w opisie trybu: Config Timer0 = PWM, Prescale = 8, PWM = FastPWM, COMPARE PWM = Clear Up; musisz napisać:
TCCR0 = &B01101010
Przykładowo, używając nomenklatury BASCOMa w opisie trybu: Config Timer0 = PWM, Prescale = 8, PWM = FastPWM, COMPARE PWM = Clear Up; musisz napisać:
TCCR0 = &B01101010
-
ZbeeGin
Tak w skrócie Timer0 w ATMega32 posiada dwa tryby pracy PWM:
Zapraszam do lektury noty katalogowej ATMega32.
- Fast PWM - Licznik liczy od 0 do wartości max (255) i się zeruje, następnie znowu liczy w górę, itd. Stan końcówki OC0 zeruje się przy wykryciu zgodności wartości OCR0=TCNT0 a ustawia się podczas wyzerowania licznika. Można zatem wygenerować krótsze impulsy.
- Phase Correct PWM - licznik liczy najpierw w górę, później w dół, następnie znów w górę, znowu w dół, itd. Stan końcówki OC0 zmienia się tylko podczas wykrycia zgodności OCR0=TCNT0: zeruje się przy liczeniu w górę, ustawia się przy liczeniu w dół. Rozdzielczość jest zatem większa, ale impulsy są ok. 1,999 razy dłuższe.
Ostatnio zmieniony 14 sie 2006, 14:05 przez ZbeeGin, łącznie zmieniany 1 raz.