Keil 8051 interrupt ISR

I'm having problems with 8051 based ISRs. The problem occures when:

1- Interrupt A is being serviced.
2- Interrupt B occures and is serviced (in the middle of ISR A execution.
3- Sometimes ISR A fails to complete.

I'm using the C ISRs used in C51 without any register set defined ("using xx"). My understanding is that the ISRs should get entered and serviced mutually exclusive from one another without corrupting one another's stack. Is this not the case?

Parents
  • 2- Interrupt B occures and is serviced (in the middle of ISR A execution.
    This seems to be a problem, no ISR should interrupt another ISR, are you doing something such as enabling interrupts or something inside an ISR? Why do you need to interrupt your interrupt? What are you doing inside the interrupt that you would even desire to interrupt it?

    Stephen

Reply
  • 2- Interrupt B occures and is serviced (in the middle of ISR A execution.
    This seems to be a problem, no ISR should interrupt another ISR, are you doing something such as enabling interrupts or something inside an ISR? Why do you need to interrupt your interrupt? What are you doing inside the interrupt that you would even desire to interrupt it?

    Stephen

Children
More questions in this forum