您的位置 首页 IC

MSP430的中止优先级、翻开封闭、中止嵌套

优先级顺序从高到低为:PORT2_VECTOR(1*2u)PORT1_VECTOR(4*2u)TIMERA1_VECTOR(5*2u)TIMERA0_VECTOR(6*2u)ADC_VECTOR(7*

优先级次序从高到低为:

PORT2_VECTOR(1*2u)
PORT1_VECTOR(4*2u)
TIMERA1_VECTOR(5*2u)
TIMERA0_VECTOR(6*2u)
ADC_VECTOR(7*2u)
USART0TX_VECTOR(8*2u)
USART0RX_VECTOR(9*2u)
WDT_VECTOR(10*2u)
COMPARATORA_VECTOR(11*2u)
TIMERB1_VECTOR(12*2u)
TIMERB0_VECTOR(13*2u)
NMI_VECTOR(14*2u)
RESET_VECTOR(15*2u)
当一起有多个中止来的时分才有优先级的考虑(优先级次序可查看向量表)
有中止呼应今后主动封闭总中止,这个时分即便来更高优先级的中止都不会呼应
中止嵌套的话,就必须在中止中翻开总中止
msp430的指令中,DINT和EINT别离指关和开一切中止,也便是包容P1IE、P2IE、WDTIE、TAIE、TBIE、ADC12IE、串口中止答应的一切中止答应位为“0”和为“1”。

完成中止嵌套需求留意以下几点:
1)430默许的是封闭中止嵌套的,除非你在一个中止程序中再次开总中止EINT;

2)当进入中止程序时,只需不在中止中再次开中止,则总中止是封闭的,此刻来中止不论是比当时中止的优先级高仍是低都不履行;

3)若在中止A中开了总中止,则能够呼应后来的中止B(不论B的优先级比A高仍是低),B履行完再持续履行A。留意:进入中止B后总中止相同也会封闭,如果B中止程序履行时需呼应中止C,则此刻也要开总中止,若不需呼应中止,则不必开中止,B履行完后跳出中止程序进入A程序时,总中止会主动翻开;

4)若在中止中开了总中止,后来的中止一起有多个,则会按优先级来履行,即中止优先级只需在多个中止一起到来时才起做用!中止服务不履行抢先准则。

5)关于单源中止,只需呼应中止,体系硬件主动清中止标志位,关于TA/TB定时器的比较/捕获中止,只需拜访TAIV/TBIV,标志位倍被主动铲除;

关于多源中止要手动清标志位,比方P1/P2口中止,要手艺铲除相应的标志,如果在这种中止用”EINT();”开中止,而在翻开中止前没有清标志,就会有相同的中止不断嵌入,而导致仓库溢出引起复位,所以在这类中止中必须先清标志再翻开中止开关.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/259775.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部