微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc2540 PM2 中断无法唤醒

cc2540 PM2 中断无法唤醒

时间:12-22 整理:3721RD 点击:

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top