Как получить значение регистра CNT таймера, если используется master/slave reset mode?
Приветствую!
Есть задача - подсчёт количества импульсов за единицу времени.
Сделал так:
таймер TIM3 отсчитывает время, при переполнении генерирует прерывание, в прерывании проверяю, сколько насчитал TIM2 через регистр CNT
таймер TIM2 настроен на внешнее тактирование от ноги (он и считает эти импульсы), при этом он подчинённый TIM3 и при переполнении TIM3 обнуляется (reset mode).
Проблема в том, что при переполнении TIM3 счётчик CNT у TIM2 то же сбрасывается и в прерывании разумеется я получаю всегда 0.
Вопрос: как правильно настроить, что бы в прерывании я мог считать значение CNT?
P.S. Да, можно не настраивать TIM2 как подчинённого и обнулять счётчик руками, но хочется, что бы всё это делалось автоматически.
Как вариант, настроить у TIM3 прерывание по совпадению (где-нибудь на 90% от максимума), в этом прерывании считывать значение TIM2. А ресетить TIM2 по переполнению TIM3.