【发布时间】:2013-07-20 00:49:00
【问题描述】:
我想了解 ISR(中断服务程序)和函数调用之间的区别。
我觉得从硬件的角度来看,函数调用和 ISR 是一样的。如果我错了,请纠正我。 我能找到的关于 ISR 和函数调用的所有信息如下:
ISR:
在执行过程中随时可能发生的异步事件 程序
将 PC、标志和寄存器保存在堆栈中,并 禁用所有中断并加载 ISR 的地址
ISR 不能有可传递给它的参数
- 无法返回值
- 启用中断
- 通常很小,因为它们需要一些其他过程的时间
- 一些 ISR 有自己的堆栈
功能:
每当有函数调用时发生
将 PC 和寄存器保存在堆栈中
可以有参数
可以返回值
对执行的大小和持续时间没有限制
除此之外还有什么不同吗?请告诉我。 我还阅读了有关 ISR 的函数调用是如何发生的。请在上面突出显示。
【问题讨论】:
标签: operating-system embedded computer-architecture function-calls isr