Oder einfach jede 10ms pollen und die Durchgänge Zählen, wie lange er low ist. Bei high abrechen. Am besten mit ISR (interrupt) realisieren.