не знаю особенностей именно Вашего МК. В разных МК есть разные примочки, помогающие реализовать эту функцию: почти везде (у всех мег в т.ч.) есть capture у таймеров (некоторых). А у 51 есть возможность использовать аппаратный gate. У STM32 есть и то и то.