cc2540 PM2 中断无法唤醒
hi 各位好:
我现在做进、出 睡眠的测试。
halPwrMgtMode = HAL_SLEEP_TIMER; //进入PM2 睡眠
void halSleepSetTimer( uint32 sleepTimer, uint32 timeout )
{
HAL_SLEEP_TIMER_DISABLE_INT();
// compute sleep timer compare value
sleepTimer += timeout;
// subtract the processing time spent in function halSleep()
sleepTimer -= HAL_SLEEP_ADJ_TICKS;
// set sleep timer compare; ST0 must be written last
ST2 = ((uint8 *)&sleepTimer)[UINT32_NDX2];
ST1 = ((uint8 *)&sleepTimer)[UINT32_NDX1];
ST0 = ((uint8 *)&sleepTimer)[UINT32_NDX0];
HAL_SLEEP_TIMER_CLEAR_INT();
HAL_SLEEP_TIMER_DISABLE_INT();
return;
}
使用P0.1 引脚(如上图1)Si按钮,想用中断唤醒睡眠(p0.1我已经设置成上升沿触发中断)。
当进入PM2 睡眠后,按下SI按钮,无法从睡眠中唤醒,但是可以进入P0.1的中断函数。
请问:如上所述是什么问题?
如果你能进入P1.0中断函数说明单片机已经唤醒了。
问题解决了。其实是我这边压根就没有进入低消费
根源问题:pwrmgr_attribute.pwrmgr_task_state 一直等于1,还没有去研究LL层为什么处于1