Hi!

Was du machst ist ziemlich umständlich...
Timer sind dazu gedacht, dass sie neben dem Hauptprogramm laufen und sich dann melden, wenn ein entsprechendes Event aufgetreten ist.
Du startest einen Timer und frägst ihn permanent auf seinen Wert ab, anstatt ihn ackern zu lassen und sich von selbst via Interrupt zu melden oder über die OCx Pins das Signal nach außen weiterzuleiten.
Das steht so im von mir erwähnten Tutorial, der Code ist bloß eine erste Einführung. Da wird noch keine ISR benutzt. Erst ein paar Beispiele weiter gehts richtig los. Insofern hast du recht, macht SO noch keinen Sinn.