优先级次序从高到低为:
PORT2_VECTOR
PORT1_VECTOR
TIMERA1_VECTOR
TIMERA0_VECTOR
ADC_VECTOR
USART0TX_VECTOR
USART0RX_VECTOR
WDT_VECTOR
COMPARATORA_VECTOR
TIMERB1_VECTOR
TIMERB0_VECTOR
NMI_VECTOR
RESET_VECTOR
当一起有多个中止来的时分才有优先级的考虑(优先级次序可查看向量表)
有中止呼应今后主动封闭总中止,这个时分即便来更高优先级的中止都不会呼应
要中止嵌套的话,就必须在中止中翻开总中止
msp430的指令中,DINT和EINT别离指关和开一切中止,也便是包容P1IE、P2IE、WDTIE、TAIE、TBIE、ADC12IE、串口中止答应的一切中止答应位为“0”和为“1”。
完成中止嵌套需求留意以下几点:
1)430默许的是封闭中止嵌套的,除非你在一个中止程序中再次开总中止EINT;
2)当进入中止程序时,只需不在中止中再次开中止,则总中止是封闭的,此刻来中止不论是比当时中止的优先级高仍是低都不履行;
3)若在中止A中开了总中止,则能够呼应后来的中止B(不论B的优先级比A高仍是低),B履行完再持续履行A。留意:进入中止B后总中止相同也会封闭,如
4)若在中止中开了总中止,后来的中止一起有多个,则会按优先级来履行,即中止优先级只需在多个中止一起到来时才起做用!中止服务不履行抢先准则。
5)关于单源中止,只需呼应中止,体系硬件主动清中止标志位,关于TA/TB定时器的比较/捕获中止,只需拜访TAIV/TBIV,标志位倍被主动铲除;
关于多源中止要手动清标志位,比方P1/P2口中止,要手艺铲除相应的标志,如果在这种中止用”EINT();”开中止,而在翻开中止前没有清标志,就会