0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MSP430的中断分为哪3种?MSP430的中断优先级顺序是什么样的?

2oON_changxuemc 来源:未知 作者:易水寒 2018-07-16 17:10 次阅读

MSP430的中断分为3种:系统复位、不可屏蔽中断、可屏蔽中断。

(1)系统复位的中断向量为0xFFFE。

(2)不可屏蔽中断的中断向量为0xFFFC。响应不可屏蔽中断时,硬件自动将OFIE、NMIE、ACCVIE复位。软件首先判断中断源并复位中断标志,接着执行用户代码。退出中断之前需要置位OFIE、NMIE、ACCVIE,以便能够再次响应中断。需要特别注意点:置位OFIE、NMIE、ACCVIE后,必须立即退出中断相应程序,否则会再次触发中断,导致中断嵌套,从而导致堆栈溢出,致使程序执行结果的无法预料。

(3)可屏蔽中断的中断来源于具有中断能力的外围模块,包括看门狗定时器工作在定时器模式时溢出产生的中断。每一个中断都可以被自己的中断控制位屏蔽,也可以由全局中断控制位屏蔽。

多个中断请求发生时,响应最高优先级中断。响应中断时,MSP430会将不可屏蔽中断控制位SR.GIE复位。因此,一旦响应了中断,即使有优先级更高的可屏蔽中断出现,也不会中断当前正在响应的中断,去响应另外的中断。但SR.GIE复位不影响不可屏蔽中断,所以仍可以接受不可屏蔽中断的中断请求。

中断响应的过程:(1)如果CPU处于活动状态,则完成当前指令;(2)若CPU处于低功耗状态,则退出低功耗状态;(3)将下一条指令的PC值压入堆栈;(4)将状态寄存器SR压入堆栈;(5)若有多个中断请求,响应最高优先级中断;(6)单中断源的中断请求标志位自动复位,多中断源的标志位不变,等待软件复位;(7)总中断允许位SR.GIE复位。SR状态寄存器中的CPUOFF、OSCOFF、SCG1、V、N、Z、C位复位;(8)相应的中断向量值装入PC寄存器,程序从此地址开始执行。

中断返回的过程:(1)从堆栈中恢复PC值,若响应中断前CPU处于低功耗模式,则可屏蔽中断仍然恢复低功耗模式;(2)从堆栈中恢复PC值,若响应中断前CPU不处于低功耗模式,则从此地址继续执行程序。

MSP430的中断优先级顺序从高到低为:

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] */

当同时有多个中断来的时候才有优先级的考虑(优先级顺序可查看向量表)

有中断响应以后自动关闭总中断,这个时候即使来更高优先级的中断都不会响应

要中断嵌套的话,就必须在中断中打开总中断

msp430的指令中,DINT和EINT分别指关和开所有中断,也就是包涵P1IE、P2IE、WDTIE、TAIE、TBIE、ADC12IE、串口中断允许的所有中断允许位为“0”和为“1”。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5328

    浏览量

    120116
  • msp430
    +关注

    关注

    180

    文章

    2394

    浏览量

    229221
  • 中断
    +关注

    关注

    5

    文章

    895

    浏览量

    41419
收藏 人收藏

    评论

    相关推荐

    msp430中断优先级怎么分配的(msp430g2553)

    高手们,请问下msp430单片机中断优先级是怎么的,这方面的资料找不到啊,求一份资料,谢谢
    发表于 08-21 14:50

    msp430中断优先级中断嵌套相关资料分享

    msp430中断优先级中断嵌套 MSP430中断优先级
    发表于 11-29 07:00

    普及一下MSP430中断系统

    ICC,即Interrupt Compare Controller,中断比较控制器,作用便是设定中断优先级,同时通过比较中断优先级等实现
    发表于 02-11 06:26

    关于MSP430的IO口中断简析

    中断是关闭的,此时来中断不管是比当前中断优先级高还是低都不执行。 (3)若在中断A中开了总
    发表于 02-15 06:50

    MSP430单片机中断系统

    中断MSP430单片机的一大特点,有效地利用中断可以简化程序并提高执行效率。在MSP430单片机中,几乎每个片上外设都能够产生中断,为
    发表于 07-15 15:27 0次下载

    MSP430中断

    MSP430中断分为3: 1.系统复位、 2.非屏蔽中断
    发表于 03-26 09:51 1次下载

    MSP430有哪些可屏蔽中断_MSP430中断优先级

    ,UART,I2C)等等。 现在我就谈谈关于MSP430中断的一些特性,主要是在项目经历中感觉比较有用的问题,跟大家分享下。 第一,MSP430中断
    发表于 05-29 15:41 2916次阅读

    MSP430单片机中断的定义及原理

    430中断是按照下图1的优先级顺序定义的,有三中断:1.系统重置、2.不可屏蔽
    发表于 11-14 16:24 7940次阅读
    <b class='flag-5'>MSP430</b>单片机<b class='flag-5'>中断</b>的定义及原理

    MSP430单片机中断的的优先级顺序定义

    430中断是按照下图1的优先级顺序定义的,有三中断:1.系统重置、2.不可屏蔽
    发表于 11-29 14:44 1298次阅读
    <b class='flag-5'>MSP430</b>单片机<b class='flag-5'>中断</b>的的<b class='flag-5'>优先级</b><b class='flag-5'>顺序</b>定义

    MSP430单片机】中断

    MSP430单片机】中断
    发表于 11-19 15:51 12次下载
    【<b class='flag-5'>MSP430</b>单片机】<b class='flag-5'>中断</b>篇

    MSP430学习笔记-低功耗与中断系统

    年前忙于项目都有段时间没更新博客了,趁年后有点时间更新了一篇,在这篇学习笔记里我们来探讨一下MSP430系列单片机的低功耗模式与中断系统,从下一篇开始,将会开始更新MSP430外设部分的学习笔记。一
    发表于 11-19 18:36 9次下载
    <b class='flag-5'>MSP430</b>学习笔记-低功耗与<b class='flag-5'>中断</b>系统

    msp430中断优先级中断嵌套(及容易理解错误的说明)

    msp430中断优先级中断嵌套 MSP430中断
    发表于 11-19 19:06 11次下载
    <b class='flag-5'>msp430</b>的<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>和<b class='flag-5'>中断</b>嵌套(及容易理解错误的说明)

    TI - MCU - MSP430使用指南5 -> ICC中断控制器

    ICC,即Interrupt Compare Controller,中断比较控制器,作用便是设定中断优先级,同时通过比较中断优先级等实现
    发表于 12-07 20:36 9次下载
    TI - MCU - <b class='flag-5'>MSP430</b>使用指南5 -> ICC<b class='flag-5'>中断</b>控制器

    MSP430中断MSP430的IO口中断/中断特性

    不在中断中再次开中断,总中断是关闭的,此时来中断不管是比当前中断优先级高还是低都不执行。
    发表于 12-16 16:56 9次下载
    【<b class='flag-5'>MSP430</b><b class='flag-5'>中断</b>】<b class='flag-5'>MSP430</b>的IO口<b class='flag-5'>中断</b>/<b class='flag-5'>中断</b>特性

    MSP430单片机中断系统课件ppt

    中断MSP430单片机的一大特点,有效地利用中断可以简化程序并提高执行效率。在MSP430单片机中,几乎每个片上外设都能够产生中断,为
    发表于 08-01 15:13 8次下载