Atmega16 časovače(nepoužití delay+větši projekt)

Čítač ve Fast PWM režimu čítá až do svého maxima - tedy pokaždé stejně = TOV přerušení nastává při přechodu 0xFF->0x00 a lze ho tedy k měření času použít. Pomocí OCRx se nenuluje hodnota čítače, ale ovládá se tím PWM výstup. Čítač by se pomocí OCRx nuloval pouze v případě CTC (Clear Timer on Compare match) režimu. V případě CTC režimu k TOV přerušení nikdy nedojde.

Jinak i Timer 1 by šel použít - a to tak, že bys startovací impulz pro ultrazvukový senzor posílal při přerušení TOV1 a dobu bys pak odchytával pomocí ICP, ale proč to předělávat, pokud Ti to šlape a na měření času můžeš použít ostatní čítače.

Dalším řešením by pak bylo použít pro ultrazvukový senzor timer 0 nebo 2 a pro obě PWM pak použít timer 1, který má 2 PWM výstupy. Zbyl by Ti jeden 8-bitový čítač. Ale v tuto chvíli je to stejné jako v předchozím případě - proč předělávat funkční program.