Board logo

标题: 请教一个关于程序调用的问题 [打印本页]

作者: chenwenjun    时间: 2006-11-10 16:19     标题: 请教一个关于程序调用的问题

我有一个子程序要被多个中断程序调用,在该子程序中要用到一个临时变量。我担心一个中断程序调用这个子程序时,该子程序还没有执行完,另一个更高级中断程序执行,也调用这个程序,


这样是否有问题,我是否需要为每一个中断程序编一个同样功能的子程序。


谢谢


 


作者: zhangxian    时间: 2006-11-12 19:32

如果你用的是08或430,coldfire,arm等等芯片,你不用担心,临时变量都是在堆栈中临时分配的,每调用一次就分配一次,不会有问题,如果你用的是51芯片,只要声明该函数是reentrant则该函数就是可重入的,每调用一次就在仿真堆栈中分配一个临时变量,也没问题.
作者: chenwenjun    时间: 2006-11-13 08:40

我用的是56F8013VFAE,有没有问题?
作者: strongchen    时间: 2006-11-14 11:56

应该没有问题。
作者: chenwenjun    时间: 2007-1-17 13:07

#pragma interrupt called 和 #pragma interrupt saveall 有什么区别,
一个子程序被不同的中断程序调用,应该用哪一个说明?谢谢
作者: strongchen    时间: 2007-1-18 09:51

请看文档《56800x_Build_Tools_Reference.pdf》的第166页。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0