<code>
#define XTAL 14745600ul //
//*********************************************************
//TIMER1
//*********************************************************
#define TIMER1_DIVIDER 64ul
#define SYSTEM_TICK 10ul
#define TIMER1_INT_PERIOD (XTAL/TIMER1_DIVIDER/(1000ul/SYSTEM_TICK))
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Обработчик прерывания
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
void TIMER1_Init(void)
{
OCR1A = (u16_t)TIMER1_INT_PERIOD;
TCCR1B = ((1<<WGM12)|(1<<CS11)|(1<<CS10));
TIFR |= (1<<OCF1A);
TIMSK |= (1<<OCIE1A);
}
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
// Обработчик прерывания
//::::::::::::::::::::::::::::::::::::::::::::::::::::::
#pragma vector = TIMER1_COMPA_vect
__interrupt void TIMER1_OCR1A_Isr(void)
{
Correct_Inputs_Timers();
}
</code>