MSP430中断嵌套问题

发布者:梦幻之光最新更新时间:2021-05-14 来源: eefocus关键字:MSP430  中断嵌套  中断机制 手机看文章 扫描二维码
随时随地手机看文章

不能用51单片机的中断机制来套用MSP430的中断模式。当MSP430有多个中断请求发生时,响应最高优先级(优先级共有16级)的中断。响应中断时,MSP430会将不可屏蔽中断控制位SR.GIE复位,即关闭全局中断。因此,一旦MSP430响应了中断,即使有更高优先级的可屏蔽中断出现,也不会中断当前正在响应的中断而去响应较高优先级的中断。但SR.GIE复位不影响不可屏蔽中断,所以仍可接收不可屏蔽中断的中断请求。至于如何实现像51单片机一样的中断嵌套,可以考虑下面的几点:


(1)430默认的是关闭中断嵌套的,除非你在一个中断程序中再次开总中断GIE


(2)当进入中断服务程序时,只要不在中断服务程序中再次开中断,则总中断是关闭的,此时后面到来的中断不管是比当前中断的优先级高还是低都不执行;


(3)若在中断A中开了总中断,则可以响应后来的中断B(不管B的优先级比A高还是低),B执行完现继续执行。注意:进入中断B生总中断同样也会关闭,如果B中断程序执行时需响应中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后中跳出中断程序进入A程序时,总中断会自动打开;


(4)若在中断中开了总中断,后来的中断同时有多个,则会按优先级来执行,即中断优先级只有在多个中断同时到来才起做用!中断服务不执行抢先原则。


(5)对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位被硬件自动清除;对于多源中断要手动清标志位,比如P1/P2口中断,要手工清除相应的标志,如果在这种中断服务程序中再打开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以在这类中断必须先清标志再打开中断开关。


关键字:MSP430  中断嵌套  中断机制 引用地址:MSP430中断嵌套问题

上一篇:MSP430 G2553 Timer 中断总结
下一篇:ADC0832模数转换MSP430单片机程序+电路图

推荐阅读最新更新时间:2024-11-11 13:27

MSP430单片机中断嵌套机制简介
1、MSP430单片机默认是关闭中断嵌套的,除非你在一个中断程序中再次开启总中断EINT。 2、对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位将被自动清除;对于多源中断要手动清标志位,比如P1/P2口中断,要手工清除相应的标志,如果在这种中断用“EINT();”开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以这类中断必须先清中断标志再打开总中断开关。 3、当进入中断服务程序时,只要不在中断服务程序中再次开启中断,MSP430单片机总中断是关闭的,此时再来中断不管是比当前中断的优先级高还是低都不执行,至到当
[单片机]
MSP430F149与ESP8266串口通信(上)
一、前言 针对网上90%的例程都是针对51单片机(或者STM32)和ESP8266模块进行串口通信,故开此帖记录MSP430与ESP8266对接的过程,希望大家不要走弯路,及时实现自己所需要的功能。本帖分为MSP430F149与ESP8266串口通信(上)、MSP430F149与ESP8266串口通信(中)和 MSP430F149与ESP8266串口通信(下)三部分,其中,在(上)部分主要介绍ESP8266的基本使用及利用 USB转串口工具 对ESP8266进行AT指令的操作;(中)部分主要介绍,MSP430F149与ESP8266进行对接的注意事项,主要讲解MSP430下发数据给ESP8266,并给出相应的电路原理图和代码,(
[单片机]
<font color='red'>MSP430</font>F149与ESP8266串口通信(上)
MSP430F5438学习笔记 FLAHS操作
1.前言 MSP430F5438的片内FLASH可以当做EEPROM使用,该部分FLASH称为INFO FLASH,总共有4块每块128Byte。虽然INFO FLASH容量比较少,但是多数情况还是够用的。 【2014年1月回顾】 存在问题需要立刻改进 2.代码实现 // 时钟默认情况 // FLL时钟 FLL选择 XT1 // 辅助时钟 ACLK选择 XT1 32768Hz // 主系统时钟 MCLK选择 DCOCLKDIV 8000000Hz // 子系统时钟 SMCLK选择 DCOCLKDIV 8000000Hz // UART时钟选择 ACLK // 低频波特率产生 96
[单片机]
<font color='red'>MSP430</font>F5438学习笔记 FLAHS操作
基于MSP430F2132的温差式原油流量传感器设计
0 引言 随着人们生活水平的提高,汽车使用越来越普遍,对能源的需求量越来越多。石油是重要的能源之一。油井生产石油的产量也成为油田领导人重点关注的问题。油井的产油量可用流量表示,获取油井流量的过程称为油井计量。对油井准确、及时的计量,不仅对油田管理人员制定油井生产方案、提高油井生产效率有重要的指导意义,也可为市场管理人员调控成品油价格提供一定的参考。传统玻璃管量液的产液量获取方式,不仅人工劳动强度大,且测量误差大、实时性差、效率低,已远远不能满足油井计量实时性、可靠性、准确性的要求。随着科学技术的发展,市场上出现了多种原油流量传感器,如科里奥利式、超声式、涡轮式、浮子式、涡街式、容积式、核式等。但由于原油的物性比较复杂,粘度、比重、
[单片机]
基于<font color='red'>MSP430</font>F2132的温差式原油流量传感器设计
MSP430 SPI(Serial Peripheral Interface) 入门学习
基本简介 这次MSP430入门介绍是基于MSP430FR2433 Lunchpad进行学习。从小白开始进行SPI学习,理解使用SPI模块。如有错误的地方,大家多多指正。 MSP430 User Guide 学习 每个人学习MSP430的方法是不一样的,我习惯第一步先从User Guide开始。 文件:MSP430FR4xx and MSP430FR2xx Family User’s Guide.pdf 章节:Chapter 23 eUSCI - SPI Mode 23.1 增强型通用串行通信接口(eUSCI_A, eUSCI_B) 概要 eUSCI_A和eUSCI_B都支持SPI串行通信。 23.2 eUSCI 介绍 -
[单片机]
<font color='red'>MSP430</font> SPI(Serial Peripheral Interface) 入门学习
MSP430复位的几种情况
---------------------------------------------------------------------- 1.看门狗超时复位 由于没有及时喂狗或在程序一开始没有关闭看门狗,导致看门狗溢出复位。在调试阶段应该屏蔽看门狗,在程序的一开始使用WDTCTL = WDTPW + WDTHOLD; 语句关闭看门狗。 2.堆栈溢出复位 如果堆栈溢出导致复位,你应该感到庆幸,庆幸你发现了。在程序编译完成后应该看map,查看当前堆栈使用情况,430的22×2和2471堆栈都是默认80B,可以开启堆栈使用量报警。按照老鸟的说法,自己使用了多少堆栈自己心里应该清楚。对于我们这样的菜鸟,我说,编译器清楚,呵呵。
[单片机]
MSP430如何使用energia
首先下载编译器 energia是我在2019年电赛时选A题,只能使用TI公司的开发板时接触到的。 energia是一个高度类似于arduino的编译环境 energia下载 相信大家都会使用arduino编译器,如何使用便不用说了。 对于使用energia出现的问题 我在使用energia时,当MSP430到了,试着第一次烧录时,发现找不到串口,然后我试着下载各种MSP430的驱动,都不行,然后我有点怀疑是不是电脑出了什么问题,试着在队员电脑上烧录程序,发现情况也是一样的,最后在一个论坛的回答上找到了答案。 由于比赛时间有限,我便试着下载了MSP430 的另一个编译器CCS,然后在安装上CCS以后,串口驱动的问题已经得到了
[单片机]
<font color='red'>MSP430</font>如何使用energia
基于MSP430FW427的无磁水表的设计
   1 MSP430FW42x单片机介绍   MSP430FW42x系列单片机是TI公司针对电子式流量与旋转运动检测最新开发的专用MCU芯片,它将超低功耗MCU、旋转扫描接口(SCAN IF)和液晶显示LCD驱动模块完美地结合在一起。该器件的超低功耗结构和流量检测模块不仅延长了电池的寿命,同时还提高了仪表的精度与性能。MSP430FW42x的典型应用包括热量仪表、热水和冷水仪表、气体仪表和工业流量计、风力计以及其他旋转检测应用。   2 流量测量的原理   2.1 基本原理   一个由叶轮或螺旋齿轮构成的机械装置把流体流动转换为转动,这种转换能够实现对流体流量的测量。 把一个谐振回路中的电感置于叶轮的上方可以检
[单片机]
基于<font color='red'>MSP430</font>FW427的无磁水表的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved