世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

MSP430单片机中断嵌套,如何跳出中断?

[复制链接]
查看: 240 |回复: 4
1
mhx121
  • mhx121
  • 离线
  • LV6
  • 高级工程师
  • 积分:428
  • |
  • 主题:4
  • |
  • 帖子:45
积分:428
LV6
高级工程师
  • 2023-2-21 13:13:55
当进行A中断时,来了一个B中断,我想让B中断程序执行完后不继续,执行A中断而跳出整个中断,去执行主程序,请问这个怎么设置呢?
收藏收藏
FIFA
  • FIFA
  • 离线
  • LV4
  • 初级工程师
  • 积分:392
  • |
  • 主题:2
  • |
  • 帖子:24
积分:392
LV4
初级工程师
  • 2023-2-23 08:48:04
  • 倒数4
 
放进堆栈中,实现处理完中断以后cpu要执行的语句,注意是地址先进,SR后进,出栈时SR先出,地址后出,当然了在中断里面可以嵌套中断的,对可屏蔽中断来说,主要是CPU响应中断以后,GIE会自动复位,所以不能对可屏蔽中断进行嵌套,如果在中断中要嵌套可屏蔽中断的话可以开GIE,但要注意的是如果此时正在响应的中断标志还是置位的情况下会反复进入此中断,就像死循环一样,这时会引起堆栈的溢出,而在响应可屏蔽中断时,不可屏蔽中断不受此影响,因为他不受GIE的影响,只受自己单独的使能位影响。在堆栈中的操作原理类似。希望对你有帮助
oleangae
  • 积分:486
  • |
  • 主题:6
  • |
  • 帖子:62
积分:486
LV6
高级工程师
  • 2023-2-23 08:50:19
  • 倒数3
 
不知道你是想做什么,我觉得或许可以这样,你检测P2引脚的内容,每当变化时即根据P2的值进入具体的函数,这样就不用中断嵌套了
Zyaegeg
  • 积分:490
  • |
  • 主题:17
  • |
  • 帖子:52
积分:490
LV6
高级工程师
  • 2023-2-23 08:56:25
  • 倒数2
 
A还没执行完怎么就回到主程序了?
z443233785
  • 积分:5343
  • |
  • 主题:117
  • |
  • 帖子:1003
积分:5343
LV8
副总工程师
最新回复
  • 2023-2-26 13:17:25
  • 倒数1
 
如果是要求中断A->中断B这样的序列才会从中断B直接返回主程序的话,那必须要在中断A那里做个标志位表明发生了中断A,由中断B判断。中断B执行完,修改堆栈指针,指向中断A的堆栈地址(压栈后的),直接指令退出中断即可。
但要注意,若在中断A中开了总中断,则可以响应后来的中断B,B执行完再继续执行A。注意:进入中断B后总中断同样也会关闭,如果B中断程序执行时需响应中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后跳出中断程序进入A程序时,总中断会自动打开。

热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号