Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256
Здравствуйте.
Задача считать 5мс (кварц 1152кГц). Настраиваю таймер в режим СТС (сброс при совпадении TCNT1 и OCR1A), т.е. надо насчитать 1152*5=5760 тактов.
Но никак не могу понять, всегда считал, что на сброс уходит один такт и по идее надо писать OCR1A=5759, однако ровно 5мс получаю только при OCR1A=5760. Уже голову сломал, как такое получается? Спасибо.
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047
И вот тот самый дополнительный цикл и появляется. Поэтому надо настраивать OCR на одну единицу меньше (т.е. на 5759 в данном случае). И в даташите этот момент тоже есть (см. формулу расчета частоты генерации в режиме CTC).