This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM How to handle nested interrupts in LPC2300

Dear all
I am using Timer0 and external interrupt 0.
Timer0 of having 10ms.
External interrupt ISR required 50ms to compltet its task, so that I am not getting exactly 10ms interrupt of Timer0.

I also use IENABLE and IDISABLE as told in sample code examples.but still i am not getting result.
I am working on LPC2378 and using
"REAL VIEW MDK-ARM Ver 3.20"

Regards
SS T.
Pune India

Parents
  • There are reasons when an interrupt may need ns or us delays just because the hardware have timing limitations and the delay is too short to allow the next step to be handled by a second interrupt.

    But to have the processor deadlock for 50ms just to delay the transfer of a second character is not good at all. How much do your think your Windows machine would manage to do if all I/O were handled by interrupt service routines performing inter-character delays.

    Always design your ISR to do a quick job and then directly leave. The only reason do to something else is if you for some reason can allow the ISR to permanently lock out the normal program - for example like a trap handler that reports a grave error and then stops the processor in an infinite loop, requiring you to connect with a debugger to check the stack trace.

Reply
  • There are reasons when an interrupt may need ns or us delays just because the hardware have timing limitations and the delay is too short to allow the next step to be handled by a second interrupt.

    But to have the processor deadlock for 50ms just to delay the transfer of a second character is not good at all. How much do your think your Windows machine would manage to do if all I/O were handled by interrupt service routines performing inter-character delays.

    Always design your ISR to do a quick job and then directly leave. The only reason do to something else is if you for some reason can allow the ISR to permanently lock out the normal program - for example like a trap handler that reports a grave error and then stops the processor in an infinite loop, requiring you to connect with a debugger to check the stack trace.

Children