c - How does software recognize an interrupt has occured? -
as know write embedded c programming, task management, memory management, isr, file system , all.
know if task or process running , @ same time interrupt occurred, how sw or process or system comes know that, interrupt has occurred? , pauses current task execution , starts serving isr.
suppose if write below code like;
// dummy code void main() { for(;;) printf("\n forever"); } // dummy code isr understanding void isr() { printf("\n interrupt occurred"); } in above code if external interrupt(isr) occurs, how main() comes know interrupt occurred? start serving isr first?
your query: understood answer. wanted know when interrupt occurs how current task execution gets stopped/paused , isr starts executing?
well rashmi answer query read below,
when microcontroller detects interrupt, stops exucution of program after executing current instruction. pushes pc(program counter) on stack , loads pc vector location of inerrupt hence, program flow directed interrrupt service routine. on completion of isr microcontroller again pops stored program counter stack , loads on pc hence, program execution again resumes next location stopped. replied query?
Comments
Post a Comment