Прерывание по переполнению таймера срабатывает и по переполнению и по достижении половины

Так чтобы работала эта схема, нужно, чтобы переполнение происходило чаще, чем пройдёт один период…

Считаем: 16/64=0.25Мгц 1 такт таймера - 4мкс. переполнение через 65535 * 4 = 262140мкс =0,26214сек. То есть частота сигнала должна быть ниже 3.8 Гц ! Надо ещё диапазон расширить?

Похоже, у вас просто не успевает увеличиться
T1OVF_Counter

Да, крыльчатка расходомера может вращаться значительно медленней.

Я наверное должен извиниться. Иногда бывает затык, и не видишь и не понимаешь очевидных вещей. Сегодня затык спал, и я понял, что конечно же обнулять счетчик переполнений надо после первого фронта, а не после второго. После обеда добрался до рабочего стола, исправил и все работает как должно. Кстати такую же ошибку видел в каком-то учебнике по ардуино, из-за этого и затык получился. Вопрос решен . Спасибо.

Да, действительно, при частоте 3Гц , T1OVF_Counter обновляется сразу на 2

Спойлер

Screenshot_94

Это вам b707 сказал ещё в #23, ему и спасибо )))

да, почему-то до меня не доходила очевидная вещь, что обнулять счетчик переполнений надо после первого фронта, а не после второго. Сегодня исправил и все работает как должно. Спасибо.

у нас принято ставить такую отметку на посте, который по вашему мнению, решил ваш вопрос.
на вас потратили время, потратьте и вы одну минуту.

Извиняюсь, не знал. Понял, буду следовать.

Не видно ))

Извиняюсь, пока шел зачитался разделом для новичков.

Вообще, несколько неправильный алгоритм. Счётчик обычно не обнуляют. Просто считают разницу значений регистра ICR и количество переполнений.