Hi.
I'm a bit unsure what exactly happens in the following scenario with a 8051 system:
I have three external sources that generate a interrupt which is fed to the mcu via a single INT line.
The interrupts are generated at random times, they might occur all at the same time, or in very short time intervals.
In my case I have three timers rolling over which are clocked with a variable frequency which then latch a new value on one of the three dac-s, pull the INT line low and the mcu then needs to prepare a new value for the dac of which the timer rolled over.
So the situations which might occur is that a interrupt is asserted, the mcu goes to service the interrupt, and just before it leaves the interrupt routine the same interrupt is asserted again, but this time from another peripheral, which again pulls the same INT line low which caused the interrupt in the first place.
What does happen in such a situation?
Does the mcu leave the interrupt and not service the new interrupt or does upon leaving reenter the interrupt routine?
In short, I need to make sure that all the peripherals are serviced, whenever the interrupt is asserted, even if the servicing occurs a bit later.