Generátor: Generovaní sinusového a trojúhelníkového průběhu

Diky vsem. Jeste bych se rad ujisil, ze spravne pocitam frekvenci na vystupu… Muzu pouzit vzorec: f(PWM)=f(clk)/(N256) nebo radeji f(PWM)=f(clk)/(N(OCR0A-1)) ???
A muj druhy dotaz. Je rozdil jestli pouziji preruseni nebo skok do VOID radek? Ovlivni to neco? Myslim napr. : Program bezi a dojde ke shode TCNT0 s OCR0A. Je lepsi udelat:

if((TIFR & 0x01)==1) //TCNT0==OCR0A?
{
i2();
}
void i2()
{
TIFR=TIFR | 0x01; //nuluje registr TIFR (zapsanim 1)

}

NEBO

ISR TIMER0_COMPA_vect
{
TIFR=TIFR | 0x01; //nuluje registr TIFR (zapsanim 1)
}

Co myslite?