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

[ATmega][Bascom] PWM na Timer0

wicy 05 Maj 2010 13:42 4292 3
REKLAMA
  • #1 8037999
    wicy
    Poziom 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?
  • REKLAMA
  • #2 8039343
    ZbeeGin
    Poziom 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.
  • REKLAMA
  • #3 8039394
    wicy
    Poziom 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?
  • Pomocny post
    #4 8039470
    ZbeeGin
    Poziom 39  
    Jak poprawnie skonfigurujesz to zadziała. Oczywiście sam licznik to nie wszystko, trzeba jeszcze ustawić port jako wyjście.
REKLAMA