TI中文支持网
TI专业的中文技术问题搜集分享网站

PM3休眠的唤醒问题

系统进入PM3模式的休眠后,通过Disassembly中发现指针进入到了FFFFFF,然后在Debug log窗口中出现了

Mon Aug 18, 2014 17:31:21: The stack pointer for stack 'XdataStack' (currently XData:0xFFFF) is outside the stack range (XData:0x0001 to XData:0x0281)

 这样的警告。

我的休眠还输是自己写的:

void DeepSleepMode(void)
{
uint8 i;
SLEEPCMD|=0X03; 
for(i=0;i<4;i++);
PCON=0X01; 
}

然后在定时0.5s扫描一下P1_6引脚是否置高,若是则进入PM3,程序为:

if ( events & SBP_PERIODIC_EVT )
{    if ( SBP_PERIODIC_EVT_PERIOD )// Restart timer
   {
       osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, SBP_PERIODIC_EVT_PERIOD );
  }  if(DEFAULT_Sleep_Check)  {    if(P1_6 == 1)
    {
        DeepSleepMode();
    } }
  return (events ^ SBP_PERIODIC_EVT);
}

最后在通过按键中断来唤醒PM3,按键中放置了:

PCON = 0X00;

SLEEPCMD |= 0;

请问各位大神:问题究竟出在哪儿呢?为什么换不醒PM3呢?求指导

admin admin1:

PM3只能由外部中断或者Reset唤醒

Amos Chen:

回复 admin admin1:

按键的中断使用的不是外部中断吗?

赞(0)
未经允许不得转载:TI中文支持网 » PM3休眠的唤醒问题
分享到: 更多 (0)