Tak jak w temacie.
Chciałem użyć 16-bitowego PWM na Timerze1,
Poprzednio na ATTiny13 zrobiłem i serwo działało bez zarzutów (oczywiście 8-bitowy timer)
Tu pocę się i nie działa:
takie 2 funkcje stworzyłem i już nie bardzo wiem co jest nie tak.
Proszę o jakieś wskazówki.
Chciałem użyć 16-bitowego PWM na Timerze1,
Poprzednio na ATTiny13 zrobiłem i serwo działało bez zarzutów (oczywiście 8-bitowy timer)
Tu pocę się i nie działa:
void initPWM() //inicjalizacja timera
{
//OCR1A = 40000;
OCR1AH = 40000>>8;
OCR1AL = 40000 & 0xFF; //TOP = 40000
TCCR1A = (1<<WGM10) | (1<<WGM11) | (1<<COM1A1) ;
TCCR1B = ( 1<<CS11) | (1<<WGM12) | ( 1<<WGM13); //Fast PWM, pin OC1A w trybie nie odwracającym, prescaler 8;
}
void turn(char grad_x_10) //obrót serwa
{
int val;
val = MIN_VAL + (((MAX_VAL-MIN_VAL)*(9+grad_x_10))/18 );
TCNT1 = val;
}
takie 2 funkcje stworzyłem i już nie bardzo wiem co jest nie tak.
Proszę o jakieś wskazówki.