Probleme farklı farklı çözüm yöntemlerinin önerilmesi hoş olmuş.
@Dede beyin önerdiği donanımsal yöntem ile yukarıdaki mesajımda CCS kod örneği ile paylaştığım yöntem biri hardware diğeri software olarak aynı işi (sadece yükselen kenar takibinde) yapıyor.
Çok özel bir nedeni yoksa, benim tercihim zaten bir mcu kullanmak sorundaysam, bu işlemi yazılım tarafında halletmek olurdu.
Mcu lar çok fazla yetenekliler. Özellikle problem çözümü için kullanılabilecek mcunun hardware çevre birimi varsa bunları kullanmak işleri hem kolaylaştırıyor hemde hızlandırıyor.
@subliminal_kuvvet yazılım tarafında zaten problemi çözmüşsünüz, kodu çıkartmak yerine, kesme kullanımı, alt program, unit ( alprg.c, altprg.h vb.) kullanımı, rtos kullanmak gibi yöntemler ile kod okunurluğu ve anlaşılırlığı çok rahat sağlanabilir. Herşeyi main içerisine sıkıştırmak zorunda değilsiniz.

Onbinlerce satır içeren iyi organize edilmiş bir projede bir iki tıklama ile istenen yere gitmek, yazılım mantığını takip etmek çok zor değil.
Uygulama ihtiyaçlarını tam bilmiyoruz ama, bunun şöyle ilave artıları olurdu:
+ Dönen cismin dönme hızıda ölçülebilir.
+ Dönen cismin hızı değişken ise, durma algılamada kullanılacak zaman değeri dinamik olarak hıza bağlı değiştirilebilir.
Tabi tek doğru yok.