Board logo

标题: 中断服务程序返回后未从断点处继续执行??? [打印本页]

作者: wmin97    时间: 2006-11-23 23:09     标题: 中断服务程序返回后未从断点处继续执行???

请教:

中断服务程序返回后未从断点处继续执行???

我的程序是这样的:

main()

{

initial();

while (1)

{

 。。。。。//进入中断服务程序

}

}

当从中断服务程序中跳出后,程序从主程序的initial()开始执行。

什么原因呢?


作者: kzw    时间: 2006-11-24 09:58

不可能的,你怎么判断出是从intial开始执行的,代码重起了吧。
作者: wmin97    时间: 2006-11-24 10:05

我在initial(),中断服务程序,循环体中分别设置断点,全速运行后看到执行中断服务程序后,跳到了initial()的断点处执行。
作者: wmin97    时间: 2006-11-24 10:06

怎么算代码重起?什么原因会造成这样的后果?
作者: wmin97    时间: 2006-11-24 10:07

怎么算代码重起?什么原因会造成这样的后果?
作者: kzw    时间: 2006-11-27 16:18

引起这个的原因可能比较多,其中我遇到过很多种,像中断,数组定义溢出,数据溢出等,我觉得最多的还是中断,中断向量引起的。你把堆栈设置到专门的存储器中,不和其他的公用看看。


作者: wmin97    时间: 2006-11-30 10:04

我将heap memory 和stack memory设置到片内,就可以了。原来全部都设置到sdram上的。谢谢,应该就是由于stack的设置引起的。


作者: kzw    时间: 2006-12-1 12:19

恩,这个问题是要小心点阿。




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