My program uses interrupts, but my interrupt only executes once. Why?
Submitted By: Craig Steiner FAQ Last Modified: 07/10/06
- If your program uses interrupts and you've configured them correctly, yet you find that your interrupt(s) only are triggered once, you've more than likely forgotten to end your interrupt service routine with the RETI instruction. The RETI instruction tells the microcontroller that the interrupt is finished and authorizes it to return to the main program. If you never execute RETI, the 8052 will think you're still within the interrupt. Using RET instead of RETI is a common problem for those that are new to interrupts.
Add Information to this FAQ: If you have additional information or alternative solutions to this question, you may add to this FAQ by clicking here.