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

[M2560][gcc] Problem z PWM.

Balu 27 Lip 2008 16:18 936 0
REKLAMA
  • #1 5383095
    Balu
    Poziom 38  
    Mam bardzo frustrujący problem z którym już walczę dobrą chwilę i mnie do szału doprowadza...:/
    Otóż:
    Chcę na timer1 odpalić PWM (wystarczy 8 bitowy), i powiązać go z OC1A OC1B.
    No to go:
    
    	TCCR1A |= 1<<WGM10 | 1<<COM1A1 |1<<WGM11 |1<<COM1B1 | 1<<COM1C1 | 1<<COM1A0 | 1<<COM1B0 | 1<<COM1C0 ; 
    
    	TCCR1B |= 1<<WGM13 |1<<WGM12  | 1<<CS11 |1<<CS10;
    	OCR1A=100;
    	OCR1B=50;
    

    I widzę ładnie OC1B, za to OC1A są same króciutkie szpilki...:/
    Gdzie się mylę?

    Łukasz.

    Dodano po 2 [minuty]:

    Uprzedzam pytania, tak DDR mam ustawione dobrze.

    Dodano po 1 [godziny] 2 [minuty]:

    No i jak zwykle po krótkim odpoczynku odpowiedź przyszła sama;)

    Poprawny kod:
    
    	TCCR1A |= 1<<WGM10 | 1<<COM1A1 | 1<<COM1B1 | 1<<COM1C1 | 1<<COM1A0 | 1<<COM1B0 | 1<<COM1C0 ; //fast pwm, toggle oc1a, oc1b, oc1c; //fast pwm, toggle oc1a, oc1b, oc1c
    
    	TCCR1B |= 1<<WGM12 | 1<<CS11 |1<<CS10; //ok. 4khz PWM (prescale 8)
    	
    	OCR1B=10;
    	OCR1C=20;
    

    :-)

    Problem był nie dość, że w wyborze trybu to jeszcze w schemacie :D

    Łukasz.
  • REKLAMA
REKLAMA