run mode normal: 運行模式
sleep mode sleep: 休眠模式
sleep mode timer: 休眠定時器模式,此模式下OS Tick仍然在正常工作
sleep mode shutdown: 關閉模式
函數function介紹:
void rt_pm_enter(void);
進入模式. 該函數嘗試進入更低的模式,如果沒有請求任何運行模式,就進入休眠模式。這個函數已經在PM組件初始化函數裏註冊到IDLE HOOK裏,所以不需要另外的調用。
void rt_pm_exit(void);
退出模式.該函數在從休眠模式喚醒的時候被在 rt_pm_enter() 調用。在從休眠喚醒時,有可能先進入喚醒終端處理函數裏面。用戶也可以在這裏主動調用rt_pm_exit()。從西面喚醒之後可能多次調用rt_pm_exit();
void rt_pm_request(rt_ubase_t mode);
請求模式. 調用該函數模式計數器會加一。如果請求模式比當前的模式更高,就會理解切換到新的模式,同時當前模式被修改成新的模式。
void rt_pm_release(rt_ubase_t mode);
釋放模式. 調用該函數模式計數器會減一。如果釋放的模式是當前模式,而且當前模式的計數器值變成0,就意味着可以切換到更低的模式。在PM的實現裏,這個切換並不會立即進行,而是在所有任務空閒的時候,在IDLE HOOK裏調用rt_pm_enter()來完成。