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

Konfiguracja PWM na Timer2 w ATmega8 - ASM/Bascom na OC2 (PB3)

elektrofil 03 Cze 2006 20:51 5472 3
REKLAMA
  • #1 2694453
    elektrofil
    Poziom 18  
    Posty: 509
    Pomógł: 32
    Ocena: 46
    Witajcie fachowcy!
    potrzebuje sprawdzonej procedury, która na wyjściu oc2 (pb3) pozwoli mi uzyskać przebieg pwm. help nic nie mówi o atmega 8, udało mi sie to metodą prób i błedów na atmega32 a na 8-mce nie działa... mile widziane asm lub bascom.
    z góry dziękuje za każdy rodzaj skutecznej pomocy.
  • REKLAMA
  • Pomocny post
    #2 2695019
    maly35
    Poziom 14  
    Posty: 91
    Pomógł: 6
    Ocena: 2
    Tu nie ma żadnej filozofii. Ja co prawda programuję na ATmega16 i procedura wygląda tak:

    void generator_PWM(unsigned int wypelnienie)
    {
    
    	TCCR2 =0x69; //tryb FAST PWM, bez preskalera, zeruj OC0 gdy porownanie  = TRUE; f = 16M/256 = 62,5kHz
    	OCR2 = wypelnienie;		//wartosc porownywana 0..255
    	
    }


    Jak zrobiłeś PWM na ATmega32 to z tego co wiem na ATmega8 powinno być tak samo. Widzę w dokumentacji, że ATmega8 dzieli pin z programowaniem ISP i jak tak programujesz procek to tu może leżeć problem:( A może zapomniałeś OC2 jako wyjście ustawić lub pomieszałeś coś w TCCR2.
  • REKLAMA
  • Pomocny post
    #3 2695298
    ucy74
    Poziom 20  
    Posty: 539
    Pomógł: 22
    Ocena: 10
    Przykład z Bascoma na ATmega8 do sterowania serwem modelarskim:
    $regfile = "m8def.dat"
    $crystal = 8000000 'on chip clock speed
    
    Osccal = &HC1 'uC 8MHz internall clock New calibration byte
    
    Tccr2 = &B01100110 'PWM2, clear down, phase correct, prescale 256 -> 16ms
    
    Acsr = &B10000000 'Analog Comparator disable
    
    Dim W As Byte 'Servo position
    .
    .
    .
    Ocr2 = W 'PWM2 values: 0,5-2,5ms up in 16ms period

    Osccal trzeba odczytać samemu przy ustawianiu fuse'ów.
    Polecam wyłączenie komparatora...
  • #4 2699443
    elektrofil
    Poziom 18  
    Posty: 509
    Pomógł: 32
    Ocena: 46
    dziekuje za pomoc, problem rozwiązałem metodą prób i błedow z PDF'em w reku:
    Set Tccr2.7
    Set Tccr2.6
    Set Tccr2.5
    Set Tccr2.4
    Set Tccr2.3
    Reset Tccr2.2
    Reset Tccr2.1
    Set Tccr2.0
    teraz dzieki wam wiem co ustawiłem.
REKLAMA