低功耗睡眠设置Power Manager (PWRM)
PWRM_vInit() 如果进入睡眠模式,设置芯片进入何种睡眠模式
PWRM_eScheduleActivity()设置进入睡眠多长时间(时钟是32K,前提是进入睡眠模式后32K时钟使能、存储器使能),以及唤醒时钟引起的回调函数(此回调函数应该是在PWRM_vRegisterWakeupCallback()执行完才执行,此回调函数可以用来执行“询问父节点是否有数据要发给自己”的操作)
PWRM_vManagePower() 设置芯片进入睡眠模式。执行此函数前如果没有执行 PWRM_eScheduleActivity(),芯片不是进入睡眠模式,而是Doze mode(可以被任何中断唤醒),如下图:
PWRM_vRegisterWakeupCallback() 注册唤醒后回调函数(执行内容如:等待主时钟恢复),只要是从低功耗模式唤醒,都会执行;PWRM_eScheduleActivity()设置的回调函数是用唤醒时钟把芯片从低功耗模式唤醒才会执行。
PWRM_vRegisterPreSleepCallback()注册进入睡眠前回调函数(执行内容如:保存进入睡眠会丢失的数据)
vAppRegisterPWRMCallbacks()函数是用来放 PWRM_vRegisterWakeupCallback() 和 PWRM_vRegisterPreSleepCallback()