Maybe interrupts are not enabled?
--- In lpc2000@yahoogroups.com, "dodge1955" <sutton@h...> wrote:
>
> Can anyone tell me why my interrupt is not firing? The T0IR flag is
> set upon rollover of the TIMER0 32 bit timer, but my code is not
> vectored to the interrupt code. My variable 'system_timer' never
gets
> decremented.
>
> unsigned long system_timer, j;
>
> void decrement_timers() __irq
> {
> // occurs 896 times per second
>
> system_timer--;
>
> T0IR |= 1;
> }
>
> int main()
> {
> VPBDIV = 1;
>
> // set up delay timer (TIMER 0)
>
> VICIntSelect = 0; // all interrupts classified as IRQs
> VICVectCntl0 = 0x00000024;
> VICVectAddr0 = (unsigned int) decrement_timers;
> VICIntEnable = 0x00000010;
>
> // Disable Timer0 and Reset Interrupt Flag
>
> T0TCR = 0;
> T0IR |= 1;
>
> T0MR0 = 0;
> T0MCR = 1;
>
> T0CTCR = 0;
> T0PR = 0;
> T0TCR = 1;
>
> // just an infinite loop to check Timer0
>
> system_timer = 4000;
>
> j = 0;
> for(;;)
> {
> j = j + 2;
> }
>Message
Re: LPC2138 Timer0 Interrupt
2005-12-08 by Randy Ott
Attachments
- No local attachments were found for this message.