历史上的今天
返回首页

历史上的今天

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

正在发生

2021年04月02日 | MSP430单片机之中断服务

2021-04-02 来源:eefocus

简介:430的中断是按照下图1的优先级顺序定义的,有三种中断:1.系统重置、2.不可屏蔽中断(NMI)、3.可屏蔽中断。


部分具体的中断优先级由高到低为:


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这个寄存器,所以标志位被自动清除。

推荐阅读

史海拾趣

Cliff Electronic Components公司的发展小趣事

由于字数限制,我将先为您提供一个关于Cliff Electronic Components公司的发展故事,如您需要更多内容,请再次询问。

Cliff Electronic Components的崛起与转型

在1977年,一个名为Cliff Electronic Components Limited的公司在英国悄然成立。初创时期,它主要为音乐行业提供连接器,满足了当时市场上对于音频设备连接的需求。随着市场的发展和技术的进步,公司很快意识到,仅靠单一产品线难以满足日益多样化的市场需求。

在公司成立的初期,Cliff面临着巨大的市场压力。当时,电子行业正经历着快速的技术革新,竞争对手层出不穷。为了在市场上站稳脚跟,Cliff决定对其产品线进行大刀阔斧的改革和扩展。他们不仅继续深耕音频连接器领域,还开始涉足交流电源连接器、直流电源连接器、馈通连接器等多种电子连接器产品。

进入80年代,随着个人电脑的普及和电子设备的小型化趋势,Cliff迎来了新的发展机遇。公司迅速调整战略,开始研发和生产适用于个人电脑的各种连接器。这一转型使得Cliff的产品线更加丰富,也为其赢得了更多的市场份额。

为了满足客户对于高品质产品的需求,Cliff不断加大研发投入,引进先进的生产设备和技术。他们在产品设计和制造工艺上不断创新,力求为客户提供更加可靠、高效的连接器解决方案。这种对品质的不懈追求,使得Cliff逐渐在市场上树立起了良好的口碑。

进入90年代,随着全球化的加速和电子行业的飞速发展,Cliff开始积极拓展国际市场。他们参加各种国际电子展会,与全球的客户和合作伙伴建立联系。通过与国际知名企业的合作,Cliff不仅提升了自身的品牌影响力,还进一步拓展了其产品的应用范围。

随着时间的推移,Cliff逐渐成为了一个在国际上享有盛誉的电子连接器品牌。他们始终坚持创新、品质和服务至上的理念,赢得了客户的广泛认可和赞誉。今天,当我们提到Cliff时,人们首先想到的是他们高品质的电子连接器和专业的客户服务。

若您想要探索更多内容,随时可以继续输入。请注意,由于Cliff Electronic Components公司的发展历程可能涉及多个方面,以上内容主要聚焦于其产品线扩展和市场拓展的方面。如果您对其他方面如技术研发、企业文化等有进一步的兴趣,可以再次输入以获取更多信息。

若您想要更多关于Cliff Electronic Components的故事,请随时告知。

启英泰伦(Chiplntelli)公司的发展小趣事

近期,启英泰伦完成了数千万元的B++轮融资,由水木春锦资本、盛裕资本和自觉资本共同投资。这笔资金将主要用于产品的大规模量产和新产品的研发,以进一步加速启英泰伦在智能语音芯片市场的布局。资本的注入不仅为公司的发展提供了强有力的支持,也反映了市场对启英泰伦技术和市场前景的认可。

Burr-Brown公司的发展小趣事

进入20世纪70年代中期,Burr-Brown敏锐地意识到数字技术将对音频行业产生深远影响。公司迅速抓住CD播放机市场的机遇,通过技术创新,成功引领音频行业进入数字时代。这一转型不仅巩固了Burr-Brown在音频领域的领先地位,也为公司带来了更广阔的发展空间。

Esc Electronics Corp公司的发展小趣事

随着全球化进程的加速,Esc开始寻求国际合作和业务拓展的机会。公司与国际知名企业建立了战略合作关系,共同研发新产品、开拓市场。同时,Esc还积极拓展海外市场,通过设立海外分公司、参加国际展会等方式,加强与国际市场的联系和合作。这些努力不仅为Esc带来了更多的业务机会,也提升了公司的国际影响力。

AAC [American Accurate Components]公司的发展小趣事

随着业务的不断拓展,AAC公司意识到美国市场的巨大潜力。于是,在1996年,AAC决定在美国设立分公司,专门负责美国市场的销售。与此同时,为了满足不断增长的市场需求,AAC还在深圳设立了美欧电子有限公司,专门批量生产手机用讯响器。这一系列的举措使得AAC的产品线更加丰富,产能也得到了大幅提升。

长运通(CYT)公司的发展小趣事

在市场竞争日益激烈的背景下,长运通积极拓展市场,加强品牌建设。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,与多家国际知名企业建立了合作关系。同时,长运通也注重品牌形象的塑造和传播,通过参加各种展会、论坛等活动,提升公司的知名度和影响力。这些努力使得长运通在电子行业中树立了良好的品牌形象。

问答坊 | AI 解惑

与研祥专家对话,精美大奖等您拿~

具体活动链接地址如下:https://www.eeworld.com.cn/zhuanti/newevoconline/index.asp 好消息! 各位工程师:         大家好!2008年9月17日上午10点到11点30,研祥携蓝宇科技将做客电子工程世界,就嵌入式系统设 ...…

查看全部问答>

中国研制成功新一代“镁基特种电源”,号称全天候电池

中国科学家研制成功具有自主知识产权的新一代电源——镁基特种电源。这种电源不仅可替代锌锰电池、铅酸电池、镉镍电池等传统电源,还能在1500米深海、40000米高空等多种极端状态下正常工作,在工业和国防等领域有着广泛的用途。据新电源研制者、中 ...…

查看全部问答>

keil,如何看debug时候,的idata内容

有memory windows 在address 中输入d:0xf0,发现好像看到的是sfr,而不是高128字节的数据 (因为我已经执行了,所有数据区清零,可是在memory windows看到的依旧是FF???)…

查看全部问答>

SEPIC变换器的电路设计

哪位高人能给一些有关SEPIC变换器的电路设计资料?…

查看全部问答>

eVC 用模拟器如何显示printf的内容

我安装的EVC4+sp4+EVC自带的sdk,好像说要控制台,怎么样才能拥有控制台阿?…

查看全部问答>

选书,请指点一下?

我想学嵌入式,主要用于防盗门系统.但不知道应该选择什么样的书去看!!请指点一下!…

查看全部问答>

深圳市快星半导体电子有限公司是专业生产、开发为一体的企业

深圳市快星半导体电子有限公司是专业生产、开发为一体的企业。产品有全系列贴片(SMD)、直插(DIP),二、三极管、三端稳压管、达林顿管、场效应管、稳压电路、稳压二极管、开关晶体管、可控硅、肖特基、IC集成电路,其产品广泛用于开关电源, ...…

查看全部问答>

测量普通家电电磁辐射

有没有大哥知道测量电磁辐射的电路,模块或者解决方案 …

查看全部问答>

有关upp接收数据的技术问题,急急急!!!!

使用两个DMA接收FPGA的数据,为什么接收到的数据都是从FPGA发的第一个数据开始的????? …

查看全部问答>

有谁做过倒立摆

刚刚学习STM32,准备用它制作一个倒立摆用来对国赛进行准备,有谁知道做倒立摆需要用到的STM32的知识有哪些?比如ADC什么的 …

查看全部问答>