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

[BASCOM][ATtiny25] PWM i wyjście OC0

djerzyk 07 Sie 2011 15:21 2915 10
REKLAMA
  • #1 9800299
    djerzyk
    Poziom 13  
    Witam wszystkich, Mam kłopot jak w temacie, próbuje na tym procku uzyskać przebieg pwm niestety mam cały czas zwykłe wyjście, zamiast wyjścia oc0.
    Cy wie może jak skonfigurować tego procka. Dodam że na attiny 2313 śmiga bez problemu ale chciałem zminimalizować wymiary.
    Dzięki i pozdrawiam
  • REKLAMA
  • REKLAMA
  • #3 9800360
    djerzyk
    Poziom 13  
    po wielu próbach napisałem mały programik tylko aby dostać odpowiedni przebieg. Docelowo ma to być sterownik jasności diod led sterowany pilotem RC5 i na attiny 2313 jest OK. oto mój programik:
    
    $crystal=8000000
    Config Portb = Output
    Portb = &B00001111
    Config Timer0 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    
    
    Pwm0a = 125
    
    Do
    Loop
    End
    
  • REKLAMA
  • REKLAMA
  • #5 9801412
    djerzyk
    Poziom 13  
    Tak, program kompiluje się bez problemu, gdy używałem tajmera 1 to się buntował. z tego co się doczytałem chodzi o przełączenie albo o podłączenie wewnętrznego wyjścia PWM do wyjścia procka, ale nie wiem jak ustawić to w odpowiednim rejestrze. Na pewno można użyć jakiegoś polecenia asemblerowego ale na tym się jeszcze nie znam.
  • #6 9802748
    snnaap
    Poziom 25  
    Nie wiem czy przy ATtiny25 dobrym rozwiązaniem jest pisanie programu w Bascom w szczególności, że PWM jest tylko jedną z kilku czynności jakie ma wykonywać procesor (RC5).
    Należałoby się zastanowić czy nie lepszym rozwiązaniem byłoby zastosowanie C która daje lepsze możliwości Panowania nad uK.
    Na forum pojawiały się już posty na temat problemu uruchomienia pod Bascom RC5 i PWM w związku z tym że Bascom do obu tych zadań zaprzęgał ten sam timer.
  • #7 9804412
    djerzyk
    Poziom 13  
    niestety z C jestem zielony, chyba zostanę przy 2313.
  • #8 9804759
    arktik1
    Poziom 27  
    zobacz to:
    
    $regfile = "attiny25.dat"
    $crystal=8000000
    
    Config Portb = Output
    Portb = &B00001110
    
    Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 1
    
    
    Pwm0a = 125                                                 'zamienić jeśli nie dziala na Ocr0a
    
    Do
    Loop
    End
    
  • #9 9805141
    djerzyk
    Poziom 13  
    OK, jutro spróbuje, ale coś mi się wydaje że tak też próbowałem, na pewno zamieniałem Pwm0a na Ocr0a i nic to nie zmieniło. Na wyjściu miałem zawsze stan taki jaki deklarowałem na początku. Wygląda na to że jest to zwyczajne wyjście i trzeba w jakiś sposób przełączyć go na PWM. Ta 25'ka ma wogule mocno rozbudowane liczniki-np sterowanie T1 z pętli PLL-64MHz (max 500kHz Pwm) ale to też trzeba jakoś przełączyć.
    T0 i T1 jako liczniki pracują poprawnie (pod BASCOM'em) bo to przetestowałem i było w porządku przerwania od tych liczników są realizowane, tylko to nieszczęsne PWM.
REKLAMA