历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2021年04月06日 | MSP430的中断优先级、打开关闭、中断嵌套

2021-04-06 来源:eefocus

优先级顺序从高到低为:


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();"开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位。所以在这类中断中必须先清标志再打开中断开关。


(1)清除各个端口的外中断用:PxIFG,相应的位置0即可;


(2)清除Timer中断用:TAIFG,TBIFG,相应的位置0即可;


MSP430的16个外中断比如软件清除Flag,在进入外中断后,首先要做的就是把相应的PxIFG清0;


而定时器Timer中断是自动清除Flag;


还有在中断嵌套的时候会用到,在进入中断后,MCU会自动把全局中断位GIE清零,这样在进入本中断后就不会再相应其他中断,若要进行中断嵌套,必须在进入中断后把GIE再置1。


推荐阅读

史海拾趣

Anaren Ceramics公司的发展小趣事

Anaren Ceramics公司在电子行业中崭露头角,首先得益于其在陶瓷材料技术方面的重大突破。公司研发了一种新型的陶瓷材料,具有优异的绝缘性能和高温稳定性,这为当时的电子行业提供了前所未有的解决方案。随着这种新型陶瓷材料在市场上的广泛应用,Anaren Ceramics公司的知名度逐渐提升,逐渐成为了行业内的佼佼者。

ASI [ASI Semiconductor, Inc]公司的发展小趣事

在竞争激烈的电子行业中,创新是企业持续发展的关键。ASI深知这一点,因此一直致力于技术创新和产品升级。通过不断投入研发资源、引进先进技术以及与高校和研究机构的合作,ASI成功推出了一系列具有竞争力的新产品和解决方案。这些创新不仅提升了ASI的市场竞争力,还为其未来的发展注入了强大的动力。

这些故事展示了ASI Semiconductor, Inc.从创立到发展成为电子行业领导者的过程。通过抓住市场机遇、提升产品质量、拓展全球市场、创新技术和优质服务,ASI成功地实现了自身的快速发展,并在行业中树立了良好的声誉。

HBControls公司的发展小趣事
如果重启无效,可能是显示屏连接线松动或损坏。需要打开冰箱后盖检查连接线是否牢固连接。
ERNI Electronics公司的发展小趣事

ERNI Electronics一直致力于技术创新和产品升级。继成功开发出世界上第一个DIN连接器后,公司又发展了多种电路板连接器和输入/输出连接器。这些连接器具有不同的针脚大小和间距,满足了各种应用场景的需求。此外,ERNI还推出了高速数据传输连接器、坚固耐用的M8/M12连接器以及最新的MiniBridge单排电缆连接器系统等创新产品,不断推动电子行业的发展。

ABL Heatsink公司的发展小趣事

ABL Heatsink公司在发展过程中,积极寻求与其他企业的合作。通过与芯片制造商、电子设备生产商等建立紧密的合作关系,ABL Heatsink成功将自己的散热器产品集成到各种高端电子设备中。这种合作模式不仅提升了公司的知名度,也带来了稳定的订单和收入。

电连(ECT)公司的发展小趣事

电连技术股份有限公司(ECT)于2006年在深圳成立,专注于微型电子连接器及互连系统相关产品的技术研究、设计、制造和销售服务。在成立初期,ECT便凭借其高可靠、高性能的产品设计制造能力,在通讯设备、智能消费电子等领域获得了初步的市场份额。公司团队通过不断的技术创新和产品优化,逐渐在行业内树立了良好的口碑。

问答坊 | AI 解惑

電子元器件的識別及測試--入门提升篇

電子元器件的識別及測試--入门提升篇 不同的電子原器件有不同的性能及參數要求 對於一個電子零件掌握它的識別和測試 判別其好壞、了解其性能和參數 不但是對電子技術工程人員的一項基本要求 并且作為一名電子部品的檢查員 對於這方面的基礎知 ...…

查看全部问答>

Altera参考设计-高分辨率音频设计参考

AN604: High Definition Video Reference Design (UDX3) Introduction The Altera® video series of reference designs deliver high-quality up, down, and cross conversion of standard definition (SD), high definition (HD), and 3 gi ...…

查看全部问答>

触摸屏的怪问题

    两套2440开发套件,触摸屏的原理图完全一样,要说不同,也就后者硬件布线稍长。把一个前者上正常的NK烧写到后者,发现后者触摸居然校准不了了。     在触摸屏驱动里面加调试信息。每次触摸产生的点的坐标都输出出来。发现 ...…

查看全部问答>

CE控制面板中大部分图标都不见了?

重新编译了下NK,没有添加或者删除组件。下载到开发板后运行,却发现在“控制面板”中,原来的“校准”等图标都没有 了,请问哪位知道什么原因?是不是误删了什么文件?…

查看全部问答>

请教一下语音采集芯片aic23的问题

aic23输出结果的是声音波形的采样值,还是经过编码或压缩后的数据? 把数据拿出来 绘制成波形,怎么看都不像声音信号,当然也不能播放出声音。 …

查看全部问答>

NK.lib的问题

各位前辈好!我最近在编译WINCE5.0的OAL时遇到不能连接NK.lib的问题,我在PB5.0的帮助文件中知道了NK.lib是由 Cefnk.lib,Hal.lib,Nkcompr.lib,Nkmapfile.lib,Nknocomp.lib,Nknofnk.lib,Nknomapfile.lib组成,以上 几个lib都能在PUBLIC下的OAK的lib文 ...…

查看全部问答>

WINCE5.0,U盘上电之前插上,系统不识别,上电之后,再插上能够正常识别

环境:S3C2440+WINCE5.0 如题,上电之前,把U盘插在S3C2440板上,进入系统只有不能识别U盘,但是上电之后将没有识别的U盘拔下,重新插上,系统立即识别,我感觉应该是驱动的问题,可能在初始化的时候未做检测....不知道有谁碰到过同样的问题.大家说说,准备 ...…

查看全部问答>

转让2个华为GPRS模块 GTM900C

去年买的。 画了板子在STM32上玩了下,一个玩过,一个全新的。 150元两个。 附加全程指导,直到会为止。哈哈。 51 stm32 2440 6410木有问题。 要的发邮件 clever0725@gmail.com…

查看全部问答>

硬件实现电源关断

最近做一个项目时,要求电源电压低于10V是,不再为系统供电,此时可以用被用电池供电,现在使用的是比较器进行电压比较,实现电源关断,但是效果不理想,不知道大家有没有其他方法?…

查看全部问答>