MSP430单片机中断嵌套跳出中断的方法:
如果是要求中断A->中断B这样的序列才会从中断B直接返回主程序的话,那必须要在中断A那里做个标志位表明发生了中断A,由中断B判断。中断B执行完,修改堆栈指针,指向中断A的堆栈地址(压栈后的亩卜岩),直接指令退出中断即可。
但要注意,若在中断A中开了总中断,则可以响应后来的中断B,B执行完再继续执行A。注意:进入中断B后总中断同样也会关闭,如果B中断程序执行时需响迅御应中断C,则此时也要开总中断,若不需响应中断,则不用开中断,B执行完后跳出中断程序进入A程序时,总中断会自动打开。
扩展资料:
MSP430单片机的相关要求规定:
1、MSP430单片机称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。
2、MSP430系列的部分产品具有Flash存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。TI公司推出具有Flash 型存储器及JTAG 边界扫描技术的廉价开发工具MSP-FET430X110,将国际上先进的JTAG技术和Flash在线编程技术引入MSP430。
3、MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方弊迹式、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。
参考资料来源:百度百科-MSP430单片机
晕,你不会这样设计你的程序吧?你不会在中断中停留1S的做友时间吧?教你个方法,你的中断应该是正胡猜设置的20ms吧?即T0的溢出时间设置为20ms,在T0中断程序里设一个计数器,从1自增到50后归0,也就是用设计标记的方法来计时1S,到了1S就执行你要的内容就行了.
中断程序不举型用你设置退出,执行完了它自己退出的.
C语言,进入中断后如果中断程序中什么都不执行会直接跳出中断函数,返回去执行之前的程序,如果中断中有任务,那么完成后会跳出中断,或者中断中是一些子程序,会先跳去执行子程序,直到全部完成后就跳告衫出中断,恢袜没腔复原来的程序运行环境,执行进入中断察谨之前的程序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)