We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Team,
Please suggest me what is missing/wrong? I'm unable to hit ISR even though the timer is reset and interrupt flag is set.
I'm not using real hardware but running in simulation mode only and for LPC23xx:
My startup code: Vectors LDR PC, Reset_Addr LDR PC, Undef_Addr LDR PC, SWI_Addr LDR PC, PAbt_Addr LDR PC, DAbt_Addr NOP ; Reserved Vector ; LDR PC, IRQ_Addr LDR PC, [PC, #-0x0120]
LDR PC, FIQ_Addr
void InitTimer1() {
/* Timer1 and Preset disabled */ T1TCR = 0x00; /* Timer Counter register, after PR is reset, this inc by 1 */ T1TC = 0x00; /* Prescalar register! Max value for prescalar counter */ T1PR = 0xFFFF; /* Prescale Counter register */ T1PC = 0x0; /* End user has to fill in the match value */ T1MR0 = 0x222; /* Reset TC and interrupt on match */ T1MCR = 0x03; /* 0000 0000 0000 0011 */ }
void InitVIC() {
VICIntSelect &= (~(1 << 5)); /* Timer 1 selected as IRQ */ /* Address of the ISR */ VICVectAddr5 = (unsigned long )Timer1_IRQ_Handler;
VICVectCntl5 = 0x20 | 5; VICIntEnable |= (1 << 5);/* Timer 1: (bit 5) interrupt enabled */
}
void Timer1_IRQ_Handler (void) __irq { unsigned static int i = 0; T0IR = 0x01; /* Clear Timer1 MR0 interrupt */ IOSET0 = ~ (1 << (i+1)); if ( i == 32) i = 1; i++; VICVectAddr = 0x00;/* Dummy write to ACK the VIC */
int main() { InitPLL(); EnableMAM(); SetPeripheralClock(); InitGPIO(); InitTimer1(); InitVIC();
/* Timer1 and Preset Enabled */ T1TCR = 0x01;
/* Rest of the code */ while (1);
Hi,
Since keil LPC23xx.h file does not have VICVectPriority defined, I'm using VICVectCntxx
Also the if you see the code, I've referred UM10211 LPC23XX User manual and coded the initialization of PLL, timer...etc though I've not posted the complete code. If you wish I can post the same....
I'm not able to make out why the ISR is not hit though the simulated timer shows interrupt is set and counter is reset as per the timer init routine.
Appreciate your help.
Regards, Javeed