Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[ATmega][Bascom] PWM na Timer0

wicy 05 May 2010 13:42 4178 3
  • #1
    wicy
    Level 22  
    Nie mam chwilowo zestawu testowego, stąd pytanie teoretyczne.
    Mam program z PWM na Timer1 sterujący wyjściem OC1A/PD5 w konfiguracji
    
    Config Timer1 = Pwm, Pwm = 8, Prescale = 1, Compare A Pwm = Clear Down
    

    Czy PWM na Timer0 skonfigurowany
    
    Config Timer0 = Pwm , Prescale = 1 , Compare Pwm = Clear Down , Pwm = On 
    

    da mi taki sam przebieg na pinie OC0/PB3?
    I czy dobrze myślę, że wypełnienie ustawiam zmienną Pwm0a?
  • #2
    ZbeeGin
    Level 39  
    CONFIG TIMER0 = PWM jest obarczone specjalną właściwością: działa tylko na wybranych mikrokontrolerach. Do sprawdzenia eksperymentalnie. Dlatego lepiej będzie licznik skonfigurować na poziomie bitów z TCCR0(A/B), a wartość ładować bezpośrednio do OCR0(A/B).
    No i nie zapominaj, że rodzina ATmega to nie jeden układ tylko ponad 30 i nie wszystkie mają takie same liczniki TIMER0.
  • #3
    wicy
    Level 22  
    Dokładniej chodzi mi o ATmega16(L) i ATmega32(L). Dam sobie radę ze skonfigurowaniem TCCR0. Chodzi mi tylko o zastąpienie wyjścia OCR1A wyjściem OC0 i zwolnienie Timera1 do innych zadań. Czy to zadziała?
  • Helpful post
    #4
    ZbeeGin
    Level 39  
    Jak poprawnie skonfigurujesz to zadziała. Oczywiście sam licznik to nie wszystko, trzeba jeszcze ustawić port jako wyjście.