Задать вопрос
PavelK
@PavelK

Как получить значение регистра CNT таймера, если используется master/slave reset mode?

Приветствую!
Есть задача - подсчёт количества импульсов за единицу времени.
Сделал так:
таймер TIM3 отсчитывает время, при переполнении генерирует прерывание, в прерывании проверяю, сколько насчитал TIM2 через регистр CNT
таймер TIM2 настроен на внешнее тактирование от ноги (он и считает эти импульсы), при этом он подчинённый TIM3 и при переполнении TIM3 обнуляется (reset mode).

Проблема в том, что при переполнении TIM3 счётчик CNT у TIM2 то же сбрасывается и в прерывании разумеется я получаю всегда 0.

Вопрос: как правильно настроить, что бы в прерывании я мог считать значение CNT?

P.S. Да, можно не настраивать TIM2 как подчинённого и обнулять счётчик руками, но хочется, что бы всё это делалось автоматически.
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ocelot
@Ocelot
Как вариант, настроить у TIM3 прерывание по совпадению (где-нибудь на 90% от максимума), в этом прерывании считывать значение TIM2. А ресетить TIM2 по переполнению TIM3.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы