Толи лыжи не едут толи Я ... :о)
Timer0 Mega8 WinAVR
МК влетает в прерывание по таймеру и сидит там
Где я торможу?
Вот кусок кода
...
unsigned int msDelay;
//Системный таймер (Timer0) 1мс для временных отсчетов задержки и тайм-аутов
void SysTimerInit(unsigned char tnum) //************ Timer Init
{
if(tnum==0)
{
TCCR0 = _BV(CS02); //Прескаллер = 64
TIMSK = _BV(TOIE0); //Прерывания от Timer0 разрешены
TCNT0 = 0xB8; //Загрузка начального значения
TCCR0 = 0x02; //Разрешить таймер
}
}
ISR(TIMER0_OVF_vect)//*********************** Timer INTERRUPT
{
TCNT0 = 0xB8; //Перегрузка счетчика для нового счета 1мс
if(msDelay) msDelay--;
if(rxTimeOut) rxTimeOut--;
}
//************************************************ DELAY
unsigned char Delay(unsigned int msD)
{
msDelay=msD;
while(msDelay){};
return(0);
}