Hallo,

ich hab meine Impulse folgendermaßen mit Pin Change Interrupt gezählt:

Einfach den PCINT auf dem Port zulassen, an dem der Rechteckimpuls anliegt.
Einen Timer auf Torzeit einstellen, so das er dann zB. alle 500ms einen Overflow Interrupt erzeugt.
In der Interruproutine zum PCINT einfach eine Variable hochzählen (Bei jeden Ansprung eins addieren).
In der Timerinterruptroutine die PCINT Variable zur weiteren Verwendung im Hauptprogramm auslesen und zurücksetzen.

PCINT kann auf bestimmten PINs so konfiguriert werden, daß er nur bei einer Flanke ausgelöst wird. Sonst ausgelesenen Wert durch 2 teilen.

EDIT: Zugegebenermaßen wird der Prozessor durch die vielen PCINTs belastet, aber wenn er sonst nicht viel zu tun hat...

Gruß
Searcher