Перейти к содержанию
    

ATtiny2313 режим CTC

Не могу разобраться с режимом CTC у ATtiny2313. Используется внешний кварцевый резонатор на 4 MHz. Необходимо настроить срабатывание 16-разрядного таймера каждые полсекунды. Согласно даташиту, формула расчета частоты такова:

2b00f976f4c98f6a70f786e812105b43.jpg

Значит формула расчета OCRnA:

f32422804f7ed5298e537314053a9a46.jpg

Дело в том, что при таком расчете таймер срабатывает в два раза чаще, чем нужно. Вот код инициализации (предделитель равен 64):

    TCNT1 = 0;
    TCCR1B = (1<<WGM12)|(1<<CS11)|(1<<CS10);    
    OCR1A = 0x3D08;
    TIMSK = (1<<OCIE1A);

Возникают следующие вопросы:

  1. Зачем нужна двойка в знаменателе? Если ее не учитывать, расчет получается верным.
  2. Я принимаю, что частота CLK_I/O равна 4 MHz. Чему в действительности равна эта частота?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эта формула для частоты , котоая будет генерироваться на выходе pins OCnA OCnB т.е ( например) при первом совпадении установится ноль на выходе порта , при втором высокий уровень .

Если Вам не нужен выход частоты -двойка не нужна

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...