首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]关于堆栈的问题!

[求助]关于堆栈的问题!

目前在设计故障处理中断程序,希望在中断程序中直接跳转的主程序的某行运行,实现故障后重启的功能。只是不知道,在中断程序中直接跳转离开中断程序,堆栈应该如何处理?

或者,请大家指点下,有没有更好的方法实现我说的触发中断后,直接引起系统软复位的好办法!

我想了个笨办法,不知道是否可行?将相邻堆栈的内容弹出后进行比较,直到相等则认为堆栈已经清空,此时可以使用goto语句强制跳转。

抛砖引玉,希望大家说说自己的处理方法,让新人们也学习一下。谢谢!

既然这个故障中断并非复位,说明不是严重的问题,那么系统不一定需要重启,进行相应的处理就可以了。

如果一定要重启,那要看是否要进行硬件的复位。如果需要,可以采用看门狗,或错误指令复位等方法。

海纳百川  有容乃大
采用看门狗和错误指令等等这些复位都是CPU复位,整个程序重新运行,我需要的是从程序的某个特定位置开始重新运行啊。因为还有与另一个CPU之间的一些数据交换,通过硬线(IO口)实现的,如果CPU复位的话,这些IO状态不受控,出现错误数据传送啊!
返回列表