打印

中断出来之前能不能把出中断的位置修改掉?

[复制链接]
868|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
112412的v|  楼主 | 2020-6-1 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RT,需求上不要哪进哪出,无论再哪进入中断都想从同一个固定位置出来。目前是用全局变量做的,感觉很麻烦,代码多了容易出问题

使用特权

评论回复
沙发
wooda| | 2020-6-1 17:39 | 只看该作者
lz估计对中断理解有错误。。。

使用特权

评论回复
板凳
112412的v|  楼主 | 2020-6-1 18:02 | 只看该作者
wooda 发表于 2020-6-1 17:39
lz估计对中断理解有错误。。。

怎么说?中断不是哪进哪出吗

使用特权

评论回复
地板
ynwa| | 2020-6-2 09:42 | 只看该作者
中断是当中断条件产生且中断被允许时,由硬件将PC指针跳转到中断向量地址执行中断服务程序,直到遇到中断返回指令,再回到进入中断前的地址继续执行主程序。

完全不明白你说的中断哪进哪出是个什么意思。

使用特权

评论回复
5
112412的v|  楼主 | 2020-6-2 11:16 | 只看该作者
ynwa 发表于 2020-6-2 09:42
中断是当中断条件产生且中断被允许时,由硬件将PC指针跳转到中断向量地址执行中断服务程序,直到遇到中断返 ...

这个返回地址能改吗

使用特权

评论回复
6
112412的v|  楼主 | 2020-6-2 11:20 | 只看该作者
ynwa 发表于 2020-6-2 09:42
中断是当中断条件产生且中断被允许时,由硬件将PC指针跳转到中断向量地址执行中断服务程序,直到遇到中断返 ...

中断发生的时候进去中断,执行完中断之后返回发生中断的位置,我现在的需求就是不想它回到发生中断的位置,想它返回别的位置

使用特权

评论回复
7
wooda| | 2020-6-3 19:42 | 只看该作者
112412的v 发表于 2020-6-1 18:02
怎么说?中断不是哪进哪出吗

"无论再哪进入中断都想从同一个固定位置出来",这个就不是常规中断模式。
当然,没什么是不可能的,要实现这个功能,就是操作堆栈。
堆栈操作,说简单很简单,说复杂也很复杂,要对函数调用,编译等有透彻的理解才行,
否则分分钟系统放飞自我。。。



蛋是!!
pic大部分芯片不支持对堆栈直接操作。哈哈哈。。。。

使用特权

评论回复
8
wooda| | 2020-6-3 19:45 | 只看该作者
所以 “无论再哪进入中断都想从同一个固定位置出来”
用C语言也能实现,尤其是在pic上。。。
搞不定堆栈,我们可以搞定ISR函数啊,退出中断搞不定,我们可以让ISR函数上抓位置嵌入需要的代码啊。。。
哈哈哈,办法总比困难多,实在不行就砸钱买下mcp然后叫设计师全面更新所有芯片设计。。。嘿嘿嘿。。。

使用特权

评论回复
9
jekey| | 2020-6-4 21:44 | 只看该作者
了解栈的工作原理,就知道如何实现了。

使用特权

评论回复
10
奔波儿熊| | 2020-6-5 11:29 | 只看该作者
把栈里面存的返回地址修改成你要的就行了.

使用特权

评论回复
11
yqdeso| | 2020-7-16 19:38 | 只看该作者
wooda 发表于 2020-6-3 19:42
"无论再哪进入中断都想从同一个固定位置出来",这个就不是常规中断模式。
当然,没什么是不可能的,要实现 ...

这个蛋是,哈哈哈


MCHP家的8位机都不是统一编址的。要操作也行,麻烦的很。
还不如直接换16位或32位。

使用特权

评论回复
12
112412的v|  楼主 | 2020-7-30 18:54 | 只看该作者
所以有没有大神能给个代码不会汇编

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

63

帖子

0

粉丝