打印

51单片机能实现中断自身嵌套吗

[复制链接]
楼主: betterhui
手机看帖
扫描二维码
随时随地手机跟帖
21
HotPower| | 2007-5-16 02:07 | 只看该作者 回帖奖励 |倒序浏览

这才叫做人呀!!!由此梦中醒来改帖---因为白天发帖算法有bug

哈哈~~~

使用特权

评论回复
22
d1276| | 2007-5-16 08:03 | 只看该作者

自身嵌套怎么可能,大不了你在中断里面你再处理一下相关

使用特权

评论回复
23
prcxf| | 2007-5-16 13:03 | 只看该作者

dengm的不会嵌套吧?在reti返回前,还会跳到0023h么?

还请邓大虾指点一二

还有,请楼主把具体的哪个中断需要嵌套发上来参考一下,要不然这个题目也太宽泛了些!

使用特权

评论回复
24
dengm| | 2007-5-16 13:49 | 只看该作者

re:LS 在reti返回前,不会跳到0023h, 但ret返回前,

可能会跳到0023h(由中断调用)

使用特权

评论回复
25
xwj| | 2007-5-16 13:57 | 只看该作者

唉,一个新手的错误提问,引来这么多人讨论啊?

说了N次了:要嵌套很容易,但问题是为什么要嵌套呢?有什么必要嵌套呢???

明显是LZ表达错误或想法错误哦

使用特权

评论回复
26
wuyunzdh| | 2007-5-16 14:17 | 只看该作者

肯定不行

中断是不可重入的

使用特权

评论回复
27
myfaith| | 2007-5-16 14:24 | 只看该作者

终审

终审判决:自身中断是不能嵌套的.
可以认为同一中断源是同一优先级,则不能打断前一中断响应,等前一中断响应完成后再响应后一次中断请求.
本判决为终审判决,不可上诉.
本贴讨论到此为止

使用特权

评论回复
28
xwj| | 2007-5-16 14:44 | 只看该作者

LS不懂就别瞎说,

免得误导别人

使用特权

评论回复
29
prcxf| | 2007-5-16 16:47 | 只看该作者

本贴总结:严重支持并同意27楼,不过dengm大虾的方法甚妙!呵

dengm大虾的方法甚妙!可以看作是中断嵌套!

使用特权

评论回复
30
myfaith| | 2007-5-16 18:27 | 只看该作者

不对吧

dengm和prcxf两位没有理解"嵌套"的含义吧,dengm那不是中断嵌套,也不可以看成是嵌套,只是在中断服务程序里的一个跳转语句而已,跟本贴讨论的"同一中断的嵌套"没有干系
正确答案在27楼
28楼说我不懂在误导别人,你自以为很懂的话总是回答和楼主的问题不相关的话,人家既然问自身嵌套你就不要说其它嵌套很容易,也不要你管它为什么要自身嵌套、有没有必要嵌套?你只管回答行还是不行,并给出理由就行了,还说楼主新手错误问题,表达错误,想法错误,哼哼,懂点皮毛就不得了了,看你的积分排名和你说的话不相称

使用特权

评论回复
31
conwh| | 2007-5-16 21:03 | 只看该作者

话题再可以引深一下,什么是中断?请LS回答一下。

27楼: 终审 

终审判决:自身中断是不能嵌套的.
可以认为同一中断源是同一优先级,则不能打断前一中断响应,等前一中断响应完成后再响应后一次中断请求.
本判决为终审判决,不可上诉.
本贴讨论到此为止 
 

使用特权

评论回复
32
niu9911| | 2007-5-16 23:56 | 只看该作者

可以

使用特权

评论回复
33
myfaith| | 2007-5-17 01:14 | 只看该作者

conwh朋友什么意思

31楼的conwh朋友叫我来回答什么叫中断是什么意思?莫非又是一个"高手"来考验我这个"新手"?中断定义:中断是指计算机暂时停止原程序的执行转而为外部设备服务(执行中断服务程序),并在服务完成后自动返回原程序执行的过程.
不知conwh朋友是否满意我的解释

使用特权

评论回复
34
conwh| | 2007-5-17 01:54 | 只看该作者

同意你的说法,可与你在27楼阐述的不是一个观点,你自己仔

使用特权

评论回复
35
ayb_ice| | 2007-5-17 07:36 | 只看该作者

随便说说

51可以完成类似RISC的中断(只是响应中断功能时不能自动关中断),当然也要编程实现,一般的书是不会介绍的,INTEL的8051用户手册上有介绍,但RISC不能完成51的中断嵌套功能(通过软件编程也不能完全实现)...
51的中断优先级方式是科学的...
RISC的中断处理方法主要是考虑降低硬件的复杂性...

使用特权

评论回复
36
zhaoyu2005| | 2007-5-17 08:33 | 只看该作者

自身嵌套好像就是重入吧

虽然没用过,据说很费RAM的,建议你再想别的思路,不行就换片子吧,别难为51了,普通的51就256个寄存器,除了其他用途的,能有多少剩余的?

使用特权

评论回复
37
gyt| | 2007-5-17 09:54 | 只看该作者

改变思路

不要用这种办法

使用特权

评论回复
38
HWM| | 2007-5-17 10:20 | 只看该作者

13楼的中断重入原则上没问题,但实际上不行

程序重入还必须考虑现场数据的保护,否则只是一个玩意而已。

使用特权

评论回复
39
myfaith| | 2007-5-17 13:09 | 只看该作者

回34楼

我在27楼难到对"中断"的概念有什么不妥的说**先撇开27楼对"能否自身嵌套"问题的说法是否正确,依conwh朋友的语气好象我在27楼里还有对"中断"这个概念的错误表述和认识,请conwh朋友明确的指出错误所在?
[我猜测conwh朋友的意思可能是指我27楼所表述的"不能打断前一中断"所以不叫中断,所以说我没理解中断的概念.如果他是这个意思的话,那么在高优先级的中断服务在执行时发生了低优先级中断请求,那么是否也不能称这个低优先级的中断为"中断"呢?照此推下去书上全错了,因为几乎所有单片机的书上都有这样的描述:“如果新来的中断其优先级比正在服务的优先级低,则CPU必须等到现有中断服务完成以后才会自动响应新来的中断请求”(第211页,胡汉才,单片机原理及其接口技术,北京:清华大学出版社,2004)不知我对conwh朋友的意思的猜测是否正确,还请conwh朋友自己明确的把自己的意思表达出来]

使用特权

评论回复
40
conwh| | 2007-5-17 13:39 | 只看该作者

你说的没有错误,就是这个意思。

你也不需要引举经典,我不是在34楼中明确说明你在33楼中回答准确吗?
可是你看的书是指,“在撤消中断标志之前”才有“如果新来的中断其优先级比正在服务的优先级低,则CPU必须等到现有中断服务完成以后才会自动响应新来的中断请求”。如果高级的中断发生了,并且在中断中间(先甭管它是否有意义)交出了中断级别,那么这是较低级的中断也可以照样发生和执行的。书是应该活着看,如果把它看死了,那看书就没有什么意义了。你说我说的对否。

使用特权

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

本版积分规则