Здравствуйте! Не выполняется обработчик прерывания Таймера1. Таймер0 используется ОС (по умолчанию).
#define pcon_PCTIM0 (1<< 1) #define pcon_PCTIM1 (1<< 2) #define Int_bit_TIMER0 4 #define Int_bit_TIMER1 5
PCONP |= pcon_PCTIM1; // Power up Timer1 T1PR = 0x00000000; //Load prescaler T1TCR = 0x00000002; //Reset counter and prescaler T1MCR = 0x00000003; //On match reset the counter and generate an interrupt T1MR0 = 400000; //Set the cycle time T1TCR = 0x00000001; //enable timer VICVectAddr5 = (unsigned)TIMER1VectoredIRQ; VICVectCntl5 = 0x00000000; //Set channel VICIntEnable = (1<< Int_bit_TIMER1);
void TIMER1VectoredIRQ (void) __irq { LEDS_ON = LED_B;
T1IR |= 0x00000001; //Clear match 0 interrupt VICVectAddr = 0;// Dummy write to signal end of interrupt }
Как мне кажется, ничего не упустил. По крайней мере на LPC2394 такое работает. Заранее благодарен за помощь!
|