请教MSP430F5510栈的问题

lou0908   2011-10-19 21:52 楼主

我用仿真器调试MSP430F5510,利用定时器和端口中断从低功耗模式中唤醒,工作模式是这样子的:

    

main()

{

   ……

  while(1)

 {

    执行1;

   ……

   LPM3;

 }

}

#pragma vector=TIMER0_A1_VECTOR
__interrupt void TIMER1_A0_ISR(void)

{

……

 LPM3_EXIT;

}

在仿真器挂着跑的时候,程序中没有断点,我点一下IAR的暂停,那么单片机再也不能恢复到main函数里面的while(1)循环里执行我的应用程序,同时编译器警告如下

Wed Oct 19, 2011 21:41:04: The stack pointer for stack 'Stack' (currently Memory:0x3404) is outside the stack range (Memory:0x3360 to Memory:0x3400)
意思是我栈的内容超出MSP430F5510的RAM范围,我查了很长时间,我的子程序基本没有多层嵌套,且子程序里面变量很少,我把栈由原来的160设成现在320,也没有解决上面问题,请高手指导一下,这是为什么?

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复