msp430如何在中断服务程序中关闭总中断,经验证用_DINT(),无效,退出中断时,GIE又会开的,求指导!!!

不是针对某个中断的,谢谢。... 不是针对某个中断的,谢谢。 展开
 我来答
silfyy
推荐于2017-09-09 · 超过13用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:23.4万
展开全部
在中断发生时,主函数中的SR入栈保存,SR中包含GIE,此时GIE=1;进入中断后,主函数中的SR因为已经入栈保存,此时的SR是复位值,GIE=0;CPUOFF,SCG0/1,OSCOFF什么的都是复位值0,所以进入中断后系统从低功耗模式退出,而且全局中断是禁止的。退出中断后,先前入栈保存的SR出栈,里面的GIE=1,所以就是这个样子了!
相当于是说,SR入栈以后,在中断函数中用的新的SR,退出中断后,这个SR是要被主函数以前的SR出栈覆盖的,所以说在这个中断里面改变GIE,并不能改变退出中断以后的GIE。
xiaolonglhl
2012-12-07
知道答主
回答量:5
采纳率:0%
帮助的人:5.5万
展开全部
在中断发生时,主函数中的SR入栈保存,SR中包含GIE,此时GIE=1;进入中断后,主函数中的SR因为已经入栈保存,此时的SR是复位值,GIE=0;退出中断后,此时的SR的值会被重新赋以先前SR入栈值(即SR出栈值),也就是说可以在中断里面改变GIE,但并不能改变退出中断以后的GIE。
要想改变退出中断以后的GIE 值,需在中断中,改变SR的入栈值!!!
语句为: _BIC_SR_IRQ(GIE);//关总中断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7fdd04c
2014-08-24 · 超过139用户采纳过TA的回答
知道小有建树答主
回答量:349
采纳率:0%
帮助的人:410万
展开全部
参考答案:Instant Message (IM):即“即时通信”,例如MSN、QQ、Skype等,可以包括文字、语音、视频等各种方式。许多图书馆很早就在使用IM进行虚拟参考服务,2.0时代需要更好地整合各类相关服务和数据,为网上参考工作提供更为方便的平台。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啊噶噶发包
2012-08-02
知道答主
回答量:25
采纳率:0%
帮助的人:10.9万
展开全部
把CCIE复位试试看呐~!或者是试试TACTL = MC_0;这个是停止计数的语句。
追问
那个我懂,我的意思是关闭总中断允许,不是针对个别定时计数器的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hummingyet
2012-08-02
知道答主
回答量:32
采纳率:0%
帮助的人:10.2万
展开全部
嗯,的确是用_DINT();但是不知道你的是什么中断?也不知道你进入中断是哪种工作模式
追问
就是主程序里开了总中断_EINT(),想在中断子程序里_DINT()关闭总中断,但返回后总中断还是开的。
注:如果开了GIE,进入中断程序后,总中断是会自动关闭,返回后又自己会打开。想在返回后GIE关闭。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式