Hallo,

Habe grade was ganz ähnliches gemacht, allerdimgs mit nem Mega32, von daher wird die mein Code wahrscheinlich nicht helfen...
Im Grunde hast du 2 Möglichkeiten:
1.) Den Ausgang an einen InterruptPin anschließen und in der ISR dann bei jedem auftreten eine Zählvariable erhöhen. Der Vergleich mit nem voreingestellten Wert und das Motorabschalten sollte dann nicht das Problem sein.
2.) Nen Timer einstellen der mit höherer Frequenz die ISR aufruft als der Sensor Signale geben kann. Ist deine max. Drehzahl 10/s bei 120 s/w-Übergängen musst der Timer 2400 mal in der Sekunde den Sensor abfragen. Da keine AD-Wandlung vorgenommen muss, sondern nur High/Low geprüft wird sollte das auch noch im akzeptablem Zeitrahmen bleiben. Gezählt wird hier wenn sich 2 aufeinanderfolgende Werte unterscheiden, allderings nur einmal, also bei High -> Low oder bei Low -> High.

Ich bevorzuge 1. Die 2. Möglichkeit hab ich selber noch nicht ausprobiert, sollte aber klappen. Wahrscheinlich ist die Frequenz des Timers besser noch höher anzusiedeln...