В том то и дело зачем растягивать, если толку нет.
Видимо по результатам замера и надеется понять, есть толк или нет, входная частота неизвестна. Совсем мутный алгоритм.
Пока вижу так...
Очень расточительно по ресурсам, я делал по другому. Некий симбиоз способов прямого и обратного счета, свободный от недостатков обоих способов падения точности по разным краям диапазона. Получилось обойтись совсем без критических по скорости мест, все аппаратно. Но не каждый STM32 так сможет, у меня был 303, задействовано 4 таймера, компаратор и 4 пина. Смысл алгоритма в подсчете фронтов опорной частоты между несколькими фронтами входной частоты. По этим значениям вычисляется входная частота. Изюминка в том, что погрешность во всем диапазоне частот зависит только от длины интервала измерения, стабильности и величины опорной частоты, ну и неидеальности входного формирователя естественно (дрейф, шум). Естественно такое достигается только если весь этот огород работает синхронно. Основная сложность как раз в этом и была, один таймер там только и делает, что запускает и тормозит остальную связку. Требование фактически только одно - в течении интервала измерения должно прийти хотя бы два фронта входного сигнала.
Сверху калибратор осциллографа, снизу нога кварца STM32F103, время измерения 200 мс. Все знаки стабильны (можно было и добавить, но данная функция девайса не основная, а второстепенная и входные цепи не очень приспособлены под частотомер).
Впервые упоминание о таком алгоритме, применительно к мелким 8-битным МК, встречал лет 10-15 назад по моему на электрониксе. Попробую поискать.