Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прерывание TIMER1 в Tiny26 работает в 256 раз медленнее, чем надо
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Pyku_He_oTTyda
Собственно вопрос в названии темы...
З.Ы. Фузы правильно установлены, TIMER0 считает с правильной скоростью

Вот:
Код
PLLCSR=0x00;
TCCR1A=0x00;
TCCR1B=0x01;   //0E
TCNT1=0x00;
OCR1A=0x00;
OCR1B=0x00;
OCR1C=0x00;

//
//
//


// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
OUT^=1;
//keyboard();
}
Yura_K
Что значит медленнее? На выводе OUT?
Pyku_He_oTTyda
Ну да, для контроля подцепил
Yura_K
Приведите, пожалуйста, частоту тактирования ядра и частоту на выводе OUT.
Pyku_He_oTTyda
Кварц 8Мгц.
На осциллографе вижу прямоугольник 50%. Длина скажем, лог."1" - 1,6 клетки * 20 us. Получается 32 us.

З.Ы. smile.gif Действительно туплюsmile.gif, пока писал, сам понял...
Мне надо было прерывания каждую мс, делитель выбрал 8192, как раз почти попадало, а про TCNT1 забыл... Спать надо по ночамsmile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.