历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2019年10月15日 | msp430之IO口中断

2019-10-15 来源:eefocus

MSP430中断嵌套机制


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


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


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


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


(5)对于单源中断,只要响应中断,系统硬件自动清中断标志位,对于TA/TB定时器的比较/捕获中断,只要访问TAIV/TBIV,标志位倍被自动清除;对于多源中断要手动清标志位,比如P1/P2口中断,要手工清除相应的标志,如果在这种中断用“EINT();”开中断,而在打开中断前没有清标志,就会有相同的中断不断嵌入,而导致堆栈溢出引起复位,所以在这类中断必须先清标志现打开中断开关。关于CPU部分我这次主要着重讲述下SR状态寄存器各位功能作用,对于C语言写已足够用了。另外还会补充一部单片机全局性的资料。


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不处于低功耗模式,则从此地址继续执行程序。

推荐阅读

史海拾趣

广州基安彼(GMB)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,机顶盒是指任何能与电视机连接的网络终端设备,它不仅是传统电视信号的接收与转换装置,更是连接电视与互联网的桥梁。

机顶盒的核心功能在于接收并处理来自各种传输介质的数字信号,包括有线电视、卫星广播、地面广播以及宽带网络等,然后将这些信号转换成电视机能够识别的视频和音频格式。这一过程涉及信号的接收、解码和显示三大环节,确保了用户能够享受到高清乃至超高清的电视节目。

随着技术的不断进步,机顶盒的功能日益丰富。除了基本的电视播放功能外,现代机顶盒还具备了网络交互能力,支持在线购物、浏览网页、观看网络视频、玩游戏等多种应用。此外,一些先进的机顶盒还集成了人工智能技术,实现了语音助手、智能推荐等便捷功能,极大地提升了用户体验。

总的来说,机顶盒作为家庭娱乐的重要组成部分,不仅丰富了人们的观看选择,还通过其强大的网络交互能力,为用户提供了更为广泛的内容和娱乐体验。随着技术的不断升级和市场需求的不断变化,机顶盒的未来发展将更加值得期待。

Cooper Industries公司的发展小趣事

在照明领域,Cooper Industries同样展现出了强大的实力。1987年,公司收购了英国McGraw-Edison,并成立了“库柏照明”事业部,这一举措使库柏照明迅速成为世界上最大的商业、工业、道路和住宅照明装置的制造商之一。此后,公司不断在照明领域进行创新和突破,如在2007年成功收购以LED灯具著称的io Lighting灯具公司,进一步巩固了其在节能灯具市场的地位。这些努力使得库柏照明在全球范围内享有极高的声誉和市场份额。

Hind Rectifiers Ltd公司的发展小趣事

在电工产品领域,Cooper Industries同样取得了显著的成就。2000年,公司收购了Eagle电气,并将其与已有的接线装置产品系列合并,组建成了一个名为“库柏电工”的新事业部。这一举措不仅丰富了公司的产品线,也使其在电工产品领域的技术实力得到了进一步提升。库柏电工提供了超过10000个高质量装置的产品组合,广泛应用于工业、商业和住宅领域,满足了不同客户的需求。同时,公司还不断投入研发,推出更加先进、高效的电工产品,为行业的发展做出了积极贡献。

Curtis Industries公司的发展小趣事

Curtis Industries公司一直将品质管理作为企业发展的核心。公司建立了完善的品质管理体系,从原材料采购到产品生产、检测等各个环节都严格把控品质。同时,公司还引入了先进的生产设备和技术,确保产品质量达到行业最高标准。这种对品质的严格把控赢得了客户的信任和好评,也为公司的长期发展提供了有力保障。

蜂鸟无线公司的发展小趣事
在PWM调速电路中,需要加入过流保护、过压保护等保护措施,以防止电动机因过载而损坏。
Anderson Power公司的发展小趣事
在PWM调速电路中,需要加入过流保护、过压保护等保护措施,以防止电动机因过载而损坏。

问答坊 | AI 解惑

AVR定时器的要点介绍

AVR定时器的要点介绍…

查看全部问答>

探秘中国IC设计发展迷局(四):硅谷模式不适全中国环境

四、硅谷模式不适全中国环境 很多从硅谷回国的海归在创业失败后,都会说,在中国运营公司比在硅谷要难。笔者在2005年和2006年认识了很多的回国创业的海归人士,当年都是雄心勃勃,结果,几年下来,现在大都已经宣布公司倒闭,有的回到美国去了,有 ...…

查看全部问答>

关于RESERVED_BOOT_BLOCKS的问题,eboot大小256K ,为何只占10块?

问题是这样的,eboot运行起来之后我使用 F) Low-level format the Smart Media card 这时候可以看到DNW打印如下信息 Enter your selection: f Reserving Blocks [0x0 - 0x11] ... ...reserve complete. Low-level format Blocks [0x12 - 0xfff ...…

查看全部问答>

430没有使用的I/O口,为降低功耗如何处理?

以前好象看到相关贴子,没有查到.将之设置为输入还是输出?悬空还是接高电平,低电平.…

查看全部问答>

求横流电路PCB 有奖励

本帖最后由 paulhyde 于 2014-9-15 09:12 编辑 求横流电路PCB 有奖励  …

查看全部问答>

【ADC10_B】怎么使用?

ADC10_B只有一个ADC10MEM0,也就是每次只能转化一个通道数据,如果我想同时转化多个通道的数据该怎么办呢?   我原本的想法有两个:   第一,采用Single-channel, single-conversion,每次转换好一个通道后,写指令改通道,再转换, ...…

查看全部问答>

TI femto solution

本帖最后由 dontium 于 2015-1-23 13:12 编辑 TI的收发集成方案请参考下面连接.AFE7225,TRF3720,TRF3711 ti./solution/femto_base_station …

查看全部问答>

如何着手进行DSPC5509的开发学习

了解DSP差不多有一个月的时间了,开发板也才买回,但是现在感觉不知道从何处着手开始学DSP,虽然论坛上也有一些过来人介绍经验,总感觉不太详细,有些笼统,对于一个刚接触的初学者不太适合。我想是从硬件开始着手吧,结合提供的例程来学,不知道有 ...…

查看全部问答>

零死角玩转STM32

欢迎学习哈………

查看全部问答>

教程:如何为BBB制作cape(或:如何在系统启动时自动加载dtbo)

本帖最后由 wytalfred 于 2014-3-22 00:11 编辑 一、引子 如果你买来BBB是为了搞跟硬件相关的项目,那你八成需要制作一个cape。cape是BBB官方的叫法,其实就是指BBB的软件和硬件外设。通过学习device tree我们了解到BBB是使用capemgr和device tr ...…

查看全部问答>