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.
Hi,
I am trying to get timer interrupts every second and update a variable. I use timer0 and do the settings as follows:
TIMCLK_CTRL1 = 0x04; //enable timer0 clock T0CTCR = 0x00; //use as a timer T0TCR = 0x01; //enable timer T0PR = 12999999; //set timer frequency to 1hz T0MR0 = 8; //match register0 is set to 8 T0MCR = 0x03; //reset and give interrupt when match occurs MIC_ER = 0x10000; // enable timer0 interrupts
Then, I write my interrupt subroutine as follows:
STMFD sp!, {r0-r3, lr} LDR R3, =0x01 LDR R1, =0x40044000 STR R3, [R1] // interrupt cleared BL C_Irq_Handler LDMFD sp!, {r0-r3, pc}
Everything works fine but, I can only get the interrupts for once. I do the setting s to continuously get the interrupt but it goes into the interrupt only once.
What is wrong with this, I dont understand. I'd be grateful if anyone could help me.
Coskun,
I can't see exactly what you have wrong. Your configuration looks correct, and what you are doing to acknowledge the interrupt looks correct.
Maybe you should concentrate on your interrupt service routine. Do you have any other interrupts enabled? Do they mis-behave?