Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Atmega8 CTC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Prinz
Добрый день.
Помогите разобраться!
Как заставить формироваться сигнал на выходе порта от таймера в режиме CTC?
Обычный быстрый шим работает.
OCR1A = 100;
TCCR1A = 0xA1;
TCCR1B = 0x09;
OCR1B = 127;
Но его скорость не устраивает.
Просто инверисия порта тоже.
А вото формулка которая привидена в пдф в режиме CTC очень устраивает.
приведите если можно пример инициализации.
Таймер1 Atmega8.


smile3046.gif
Очень нужна помощь.
Кварц 16MHz
А по формуле приведённой в пдф можно получить на выходе частоту до 8 MHz.
В этом именно режиме.
Палыч
Цитата(Prinz @ Mar 18 2009, 12:11) *
А по формуле приведённой в пдф можно получить на выходе частоту до 8 MHz.
Зачем Вам такие частоты? Вы обратили внимание, что то той же формуле: следуюшая частота только 4 МГц, а последующая 2.667 МГц?
Prinz
Цитата(Палыч @ Mar 18 2009, 14:26) *
Зачем Вам такие частоты? Вы обратили внимание, что то той же формуле: следуюшая частота только 4 МГц, а последующая 2.667 МГц?

Да, конечно.
Собственно говоря мне и надо получить 4 MHz.
Не могу понять, как сделать этот режим, вроде всё просто, а не работает. sad.gif
domowoj
А почему именно СТС?
andrikk
Код
  TCCR1A = _BV(COM1A0);            //toggle OC1A pin on compare match
  TCCR1B = _BV(WGM12) | _BV(CS10);                     //clk/1 CTC
//  OCR1A = 0;                //F_CPU/2
  OCR1A = 1;                //F_CPU/4
Prinz
Спасибо всем.
Сам тоже сейчас разобрался. Сделал так:
OCR1A = 1;
TCCR1A = 0x43;
TCCR1B = 0x19;
Получил 4MHz.
Ещё раз всем спасибо. biggrin.gif

rolleyes.gif
Палыч
Цитата(Prinz @ Mar 18 2009, 13:06) *
Сам тоже сейчас разобрался. Сделал так...
Что-то я не понял... Это же - Fast PWM, а не CTC...
Prinz
Цитата(Палыч @ Mar 18 2009, 15:17) *
Что-то я не понял... Это же - Fast PWM, а не CTC...


Да. Это он самый.
Просто дочитал до того места где быстрый шим из него можно получить. Там также всё считается. smile.gif
ukpyr
как-то так :
Код
TCCR1A = (1<<COM1A0);
TCCR1B = (1<<WGM12)|(1<<CS10);
OCR1A = 1;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.