Я пытаюсь настроить один из входов таймера на STM32, чтобы он вел себя как счетчик частоты для внешнего сигнала. Техническое описание STM32 описывает «режим захвата ввода» в разделе 17.3.6 (стр. 342).
Насколько я понимаю этот режим, всякий раз, когда на выбранный вход TIMx_CHx поступает вход, процессор фиксирует значение автономного внутреннего счетчика. Затем можно рассчитать частоту, используя значение счетчика и частоту внутреннего счетчика.
Я пытаюсь включить это в CubeMX, и у меня возникают трудности с сопоставлением объяснения таблицы данных с настройками в CubeMX. Это то, что я сейчас настроил. Это правильно?
Кроме того, могу ли я запустить несколько независимых входов в отдельные каналы на одном и том же таймере для одновременного захвата времени?
Счетчики частоты могут быстро усложняться в зависимости от желаемой полосы пропускания и тактовой частоты внутренних часов, а также размера регистров, содержащих такты часов и входные такты.
Я имею в виду, что похоже, что это будет работать, но вы должны убедиться, что (1) счетчик часов и счетчик частоты обновляются в конце выборки (2) что ни один из них не переполнится во время выборки (3) что установка дать вам желаемое разрешение и (4) что MCU внесет коррективы, если пропускная способность достаточно велика, где она будет переполняться некоторое время и / или опускаться очень низко. Первый из них приведет к неправильным результатам, а второй резко снизит точность при низких частотах.
последовал за Моникой в Codidact