Dann hast du das selbe Problem. Für den Counter braust du keine Interruptroutine, der wird ja nie überlaufen Bei 30.000 Impulse/Min. sind ja nur 500 Impulse/sec.

An deinem Programm braust du ja nicht viel zu ändern. Braust nur den Interrupt raus zuschmeißen und den Zweiten Timer als Counter einstellen. Dann in der Ausgabe die ja durch den andren Timer jede Sekunde angesprungen wird den Counter auslesen. Du mußt nur den Impuls an den richtigen Pin vom Timer-Counter legen.

Ok, habe jetzt mal dein Programm geschaut, du machst noch in der Interruptroutine Berechnungen. Das solltest du sowieso vermeiden. Eine Interruptroutine sollte immer so schnell wie möglich verlassen werden.

Es gibt noch eine andre Möglichkeit. Du läßt das Programm in einer DO Schleife laufen. wartest immer auf steigende oder fallende Flanke und Zählst dann jedesmal eine Variable hohe, und machst dann deine Brechungen. Die Berechnungen dürfen aber auch nicht zulange dauern weil sonst auch Impulse verlorengehen können. Mit dem Timer Springst du dann jede Sekunde zur Ausgabe. Aber auch hier besteht das Risiko das währen der abarbeiteung dieser Routine Impulse verloren gehen.

Wenn keine Impulse verloren gehen dürfen ist es mit einem Timer als Counter am sichersten.