[an error occurred while processing this directive]
вот кусок :
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено qweqwe 09 ноября 2006 г. 09:43
В ответ на: погрешность усреднялась предварительно, или в каждом цикле корректировался оскал? отправлено <font color=gray>urqa</font> 09 ноября 2006 г. 08:41

/*частота таймера 0,Гц*/
#define t0_frq 2000ul

//переменные для калибровки
uint16_t tmr_cpu_frq_cal,time_cpu_frq_cal;

/*перерив. таймера 0*/
ISR(TIMER0_OVF_vect)
{................
//увеличить счетчик циклов таймера 0
tmr_cpu_frq_cal++;
................
}

/*1 секундное перериван таймера 2*/
ISR(TIMER2_OVF_vect)
{
//автокалибровка внутр. генератора по часовому генератору
time_cpu_frq_cal=tmr_cpu_frq_cal; //запомнить насчитанное значение
tmr_cpu_frq_cal=0; //обнулить счетчик
//сравнить с нужными значениями и подстроить OSCCAL
if ((time_cpu_frq_cal>(t0_frq+5))&&(OSCCAL>0)) OSCCAL--;
if ((time_cpu_frq_cal<(t0_frq-5))&&(OSCCAL<0xff)) OSCCAL++;
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание