問題:如標題所示,不知道有沒有遇到類似問題的朋友?
RT-Thread版本 : 4.0.3
應(yīng)用場景:?
使用RT-Thread自帶的PM組件,每間隔1分鐘進行一次喚醒,喚醒處理完后馬上休眠(一般是1S左右就處理完畢),剛運行是非常正常的,一般是過了一個晚上,就發(fā)現(xiàn)不再喚醒,一直處于休眠狀態(tài),因SWD調(diào)試接口進入Sleep后會被關(guān)閉,所以不好debug
進入休眠的方法是調(diào)用rt_pm_release(PM_SLEEP_MODE_NONE)
退出休眠的方法是調(diào)用rt_pm_request(PM_SLEEP_MODE_NONE)
rtc時鐘喚醒api如下:
void?rtc_timer_start(uint32_t?timeout) { //RTC_InitTime(?2020,?1,?1,?0,?0,?0?); //RTC_TRIGFunCfg(timeout); uint32_t?tmp,irq_status; ??SYS_DisableAllIrq(?(PUINT32)&irq_status?); ??tmp?=?RTC_GetCycle32k(); timeout+=tmp; ??if(?(timeout?<?tmp)?||?((timeout?-?tmp)?<?30)?){?//?檢測睡眠的最短時間 //????SYS_RecoverIrq(?irq_status?); //????return?; timeout?=?tmp?+?32768; ??} ??RTC_SetTignTime(?timeout?); ??SYS_RecoverIrq(?irq_status?); } void?rtc_timer_stop() { } uint32_t?rtc_timer_get_tick(void) { return?RTC_GetCycle32k(); }