ISR stands for Interruption Service Routine. ISR can be represented by function(s) that acknowledge and dispatch the interruption that the system detects. The normal use case of ISRs is as follows:
1. Application/ Main function is running as precondition.
2. Interruption is acknowledged by application and ISR.
3. ISR is activated.
4. The ISR starts the save processor context.
5. Resource that are necessary to restore application context is pushed into stack.
6. ISR detects the interruption trigger and process the interruption appropriately.
7. When ISR finish the interruption handling,
1. It pops the application resources from stack.
8. ISR returns the control to application.
9. Application continues its logic.