您的位置 首页 动态

MSP430单片机中止的界说及原理

MSP430单片机中断的定义及原理-430的中断是按照下图1的优先级顺序定义的,有三种中断:1.系统重置、2.不可屏蔽中断(NMI)、3.可屏蔽中断。

430的中止是依照下图1的优先级次序界说的,有三种中止:1.体系重置、2.不行屏蔽中止(NMI)、3.可屏蔽中止。

MSP430单片机中止的界说及原理

图1.中止优先级

部分详细的中止优先级由高到低为:

PORT2_VECTOR (1 * 2u) /* 0xFFE2 Port 2 */

PORT1_VECTOR (4 * 2u) /* 0xFFE8 Port 1 */

TIMERA1_VECTOR (5 * 2u) /* 0xFFEA TImer A CC1-2, TA */

TIMERA0_VECTOR (6 * 2u) /* 0xFFEC TImer A CC0 */

ADC_VECTOR (7 * 2u) /* 0xFFEE ADC */

USART0TX_VECTOR (8 * 2u) /* 0xFFF0 USART 0 Transmit */

USART0RX_VECTOR (9 * 2u) /* 0xFFF2 USART 0 Receive */

WDT_VECTOR (10 * 2u) /* 0xFFF4 Watchdog Timer */

COMPARATORA_VECTOR (11 * 2u) /* 0xFFF6 Comparator A */

TIMERB1_VECTOR (12 * 2u) /* 0xFFF8 Timer B CC1-2, TB */

TIMERB0_VECTOR (13 * 2u) /* 0xFFFA Timer B CC0 */

NMI_VECTOR (14 * 2u) /* 0xFFFC Non-maska××e */

RESET_VECTOR (15 * 2u) /* 0xFFFE Reset [Highest Priority] */

其间可屏蔽中止分为体系NMI(SNMI)和用户NMI(UNMI),一般来说,不行屏蔽中止不受GIE标志位的影响。用户不行屏蔽中止的中止源为NMIIE、ACCIE和OFIE,当呼应用户不行屏蔽中止后,其他不行屏蔽中止就主动被制止,以避免同级其他中止发生发生中止嵌套。当一起有多个中止来的时分才有优先级的考虑(优先级次序可查看向量表)。有中止呼应今后主动封闭总中止,这个时分即便来更高优先级的中止都不会呼应。要中止嵌套的话,就必须在中止中翻开总中止。

关于中止嵌套,材料上是这么讲的:

1)430默许的是封闭中止嵌套的,除非你在一个中止程序中再次开总中止EINT;

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

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

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

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

关于单源中止,只需呼应中止,体系硬件主动清中止标志位;

关于TA/TB定时器的比较/捕获中止,只需拜访TAIV/TBIV,标志位被主动铲除;

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

关于多源中止,我在应用时遇到了一些问题,程序总是在运行时跑飞。我从前用过的程序中有两个中止源,可是现已依照要求在中止服务程序中清楚了标志位,但程序仍是跑飞了,现在还未找到原因,还要持续修正,要讨教一下学长。

官方给的多源中止的比如是:

#pragma vector = PORT2_VECTOR

__interrupt void port2(void)

{

switch(P2IV)

{

case P2IV_P2IFG6:

P1OUT ^= BIT0;break; //LED1 亮灭

case P2IV_P2IFG7:

P1OUT ^= BIT1;break; //LED2 亮灭

default :break;

}

}

在这个中止中因为拜访了P2IV这个寄存器,所以标志位被主动铲除。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部