|
Прописываю вектор следующим образом.
#pragma interrupt_handler timer_0:6
void timer_0(void) /*Прерывание по переполнению таймера/счетчика, необходимое для выхода из режима пониженого энергопотребления*/
{
timer_1++; // Увеличиваем значение таймера
timer_2++; // Увеличиваем значение таймера
timer_end++; // Увеличиваем значение таймера
finish_timer_L++; // Увеличиваем значение таймера авто-выключения
if(finish_timer_L==0) //Если время выключения гирлянды, то
{
finish_timer_H++;
if(finish_timer_H==finish_time)
{
CLI(); // запрещаем все прерывания
PORTB=0x00; // "гасим" порт В (гирлянды)
asm("sleep"); // и засыпаем навсегда......
}
}
}
/*Прерывание по переполнению таймера/счетчика,*/
void timer_0(void) /*Прерывание по переполнению таймера/счетчика, необходимое для выхода из режима пониженого энергопотребления*/
{
timer_1++; // Увеличиваем значение таймера
timer_2++; // Увеличиваем значение таймера
timer_end++; // Увеличиваем значение таймера
finish_timer_L++; // Увеличиваем значение таймера авто-выключения
if(finish_timer_L==0) //Если время выключения гирлянды, то
{
finish_timer_H++;
if(finish_timer_H==finish_time)
{
CLI(); // запрещаем все прерывания
PORTB=0x00; // "гасим" порт В (гирлянды)
asm("sleep"); // и засыпаем навсегда......
}
}
}
И по чемуто не то не то не работает.
E-mail: info@telesys.ru