As we know we write Embedded C
programming, for task management, memory management, ISR, File system
and all.
I would like to know if some task or process is running
and at the same time an interrupt occurred
, then how SW or process or system comes to know that, the interrupt has occurred?
and pauses
the current task execution
and starts serving ISR
.
Suppose if I will write the below code like;
// Dummy Code
void main()
{
for(;;)
printf("\n forever");
}
// Dummy code for ISR for understanding
void ISR()
{
printf("\n Interrupt occurred");
}
In this above code if an external interrupt(ISR) occurs
, then how main()
comes to know that the interrupt occurred? So that it would start serving ISR first?