int tmr1cnter = 0;
void uDelay(int x){
tmr1cnter = x;
while(tmr1cnter);
}
void __attribute__ ((interrupt)) t0isr(void){
T0IR |= T0IR_MR0;
if(tmr1cnter>0){
tmr1cnter--;
}
VICVectAddr = 0;
}
void init_timer0(void){
//--- Timer 0 - interrupt 10 ms
//T0PR = 50; //-- Prescaler = 0
//T0PC = 0; // Prescaler Counter
//T0MR0 = 60000 * 10; //clock rate of 60000 * 10ms ?
T0IR = 0x01;
T0CTCR &= 0xFC;
T0MR0 = 599 ; // 1ms
T0MCR = T0MCR_MR0I | T0MCR_MR0R; //-- bit 0=1 -int on MR0 , bit 1=1 - Reset on MR0
T0TC = 0x00;
T0PR = 0x00;
T0PC = 0x00;
T0TCR |= T0TCR_Counter_Enable; //-- Timer 0 - run
//VICIntSelect &= ~BIT(4); // ~BIT(VIC_TIMER0);
VICVectAddr0 = (unsigned)t0isr;//-- Timer 0 int - prioritytop-1
VICVectCntl0 = 0x24; // VIC_ENABLE | VIC_TIMER0;
VICIntEnable |= 0x0010; // BIT(VIC_TIMER0);
}