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()来完成。