|
我有个问题,hal_sleep.c文件里面 睡眠定时器中断HAL_ISR_FUNCTION(halSleepTimerIsr, ST_VECTOR)
{
HAL_ENTER_ISR();
HAL_SLEEP_TIMER_CLEAR_INT();
#ifdef HAL_SLEEP_DEBUG_POWER_MODE
halSleepInt = TRUE;
#endif // HAL_SLEEP_DEBUG_POWER_MODE
CLEAR_SLEEP_MODE();
HAL_EXIT_ISR();
return;
}
CLEAR_SLEEP_MODE();这个函数应该是清除睡眠模式,这个函数#define CLEAR_SLEEP_MODE() st( halSleepPconValue = 0; )
最后必须调用#define HAL_SLEEP_SET_POWER_MODE() halSetSleepMode()这个函数
void halSetSleepMode(void)
{
// WARNING: DO NOT ADD ANY ADDITIONAL CODE; THIS IS A FIXED SIZED SEGMENT!
PCON = halSleepPconValue;
// Disallow waking ISR from running in order to give the highest priority to LL_PowerOnReq().
EA = 0;
}
但是HAL_SLEEP_SET_POWER_MODE()这个函数调用之前 调用了 HAL_SLEEP_PREP_POWER_MODE(halPwrMgtMode);我觉得看不懂,有人最近在看吗 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|