Frequenzmessung eines TTL-Rechtecksignals mit Arduino

PWM ist eine Ausgabe und interessiert dich hier nicht.

Der Arduino Uno hat 2 Pins (2 und 3), an die du direkt eine Interrupt-Routine anschliessen kannst. Damit kriegst du einfach den Zeitpunkt jeder Pulsflanke mit ( wahlweise kommend oder gehend ).
Ob die Pulse kurz sind oder so lang dass beide Kanäle gleichzeitig 1 sind, ist eigentlich egal.

Jeder Puls stellt also fest, wann der letzte Puls war --> Geschwindigkeit
und ob der andere Kanal seinen letzen Puls kurz vorher, oder kurz nach dem vorigen hatte --> Richtung

millis() oder micros() und attachInterrupt() sind die Funktionen, die dich interessieren.