历史上的今天
今天是:2025年04月01日(星期二)
2021年04月01日 | MSP430-中断事件介绍
2021-04-01 来源:eefocus
MSP430在没有事件发生时进入低功耗模式,事件发生时,通过中断唤醒CPU,事件处理完毕后,CPU再次进入低功耗状态。由于CPU的运算速度和退出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态。 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各系列的中断向量表请查阅相关资料.
史海拾趣
|
DM642外部两个中断不同时发生,怎么得到两个中断之间的时间呢? 我现在使用的是DM642,ext_int5,ext_int6分别用作两个外部中断信号 相信大家也遇到过这样的问题,比如一个车轮压在前后两个磁钢上,这两个磁钢分别产生中断信号送给CPU,请问这两次中断之间的时间应该怎么计算呢? 我现在想的是:第一个中断发生 ...… 查看全部问答> |
|
来源:我的博客:http://blog.163.com/yuan_xihua/blog/static/3074054420087135650488/ 一,编程语言部分1,C语言 《C语言大全(第四版)》 市场价 :¥48.00 【原 书 名】 The Complete Referene,Fourth Edition 【 ...… 查看全部问答> |
|
在看2.4.18内核的关于三星的nand flash 驱动时遇到一个地方没有看明白,请指教 使用的nand flash 为 k9f1208 其中有个函数:作用是向flash发送一个地址 static void s3c2410_command (struct mtd_info *mtd, unsigned command, int column, int ...… 查看全部问答> |
|
招聘嵌入式Linux讲师,工作地点上海,要求如下: 1、具有3年或以上相关领域工作经验 2、熟悉嵌入式Bootloadr 3、熟悉Linux 内核及实时系统 4、熟悉Linux驱动 5、熟悉Linux设备驱动 6、熟悉嵌入式文件系统 工作时间可在周末,一经录用 ...… 查看全部问答> |
|
前几日使用维纶触摸屏MT6100I系列产品,大约7天后发现故障: 基本症状如下: 黑屏与维纶手型标志交替闪动. 咨询厂家说: 没有遇到此类情况. 把屏返回厂家说,测试了几天,没有发现故障. 大约7天后,另外一个工地,同样的屏出现了同样的故障.即黑屏与维纶手 ...… 查看全部问答> |
|
作者:Ralf Bendlin,德州仪器系统工程师Tony Ekpenyong,德州仪器系统工程师Debbie Greenstreet,德州仪器战略市场营销 摘要 智能手机与其它手持设备的发展以及其上数据消费应用的大量繁衍生息,不 ...… 查看全部问答> |
|
INOUT引脚: 1.FPGA IO在做输入时,可以用作高阻态,这就是所说的高阻输入; 2.FPGA IO在做输出时,则可以直接用来输入输出。 芯片外部引脚很多都使用inout类型的,为的是节省管腿。就是一个端口同时做输入和输出。 inout在具体实现上一般用 ...… 查看全部问答> |
|
如题,官方评估板的例程带了RLos, 我用UDPTCPdbg工具调试,在局域网里传送文件,工具上显示速率只有几十K,想弄个裸奔的程序再试试,有没有弄过的指点下。先谢谢了!… 查看全部问答> |




