Вижу никто не хочет переходить к делу, так давайте начну я.
Пытаюсь запустить прерывание таймера на камне
LPC2101, среда Keil V4.01
Делаю так:
__irq void Timer0ISR (void) //Timer0 ISR
{
TimerIsUp = 1; //set Flag
T0IR = 0x01; //reset interrupt flag
VICVectAddr0 = 0; //reset VIC
return;
}
void InitTimer0 (void)
{
VICDefVectAddr = (unsigned int) &Timer0ISR;
VICIntEnable = 0x10; // Channel#4 is the Timer0
VICIntSelect = 0x00; // all interrupts are IRQs
/* Init Timer0 */
T0MR0 = 1500000; // Timer match (~ 0.1 second)
T0MCR = 0x03; // Interrupt on Match0, reset timer on match
T0PC = 0x01; // Prescaler to 2
T0TC = 0x00; // reset Timer counter
T0TCR = 0x01; // enable Timer
return;
}
int main (void) {
InitTimer0();
while (1) {
;
}
}
Прерывание не срабатывает и не могу найти крывизну.