Timer1 dziala w trybie CTC: liczy od 0 do wartosci w OCR1A, generuje IRQ przy przepelnieniu (dojsciu do OCR1A). Taki prosty "zegarek-cron" w sofcie. OCR1A jest tak ustawione by INT bylo np co 0.1s albo 1s dla danego F_CPU i prescalera timera1. Pewnie nie jeden z was taki tryb uzywal.
Czy/jak da sie uzyc w tym trybie OCR1B by na nozce OC1b uzystac pwm? Bo na nozce OC1a raczej sie nie da ;) (najwyzej prostokat o F_zliczania/2 albo czysto programowo) teraz mam:
TCCR1A = 0; TCCR1B = (1<<WGM12)|(TIMER1PRESCALE); // timer1prescale =0x04 dla 256 OCR1A = ODPOWIEDNIA_WARTOSC; // u mnie 15624 TIMSK |= (1<<OCIE1A);
Domyslam sie ze wpis wartosci OCR1B > OCR1A daje pwm=max caly czas (lub min, zaleznie od polaryzacji wyjscia)
Czy wystarczy COM1B1:0 = 2 lub 3 i bedzie pwm na OC1b juz generowany (o okresie rownym czasowi zliczania timer1)?