| 123456789101112131415161718192021222324252627282930313233343536 |
- #include "user.h"
- static int32_t test_done(void *pData, void *pParam)
- {
- DBG("RTC唤醒, 测试结束");
- PM_SetDriverRunFlag(PM_DRV_DBG, 1);
- }
- void prvPM_Test(void *p)
- {
- int i;
- DBG("测试在1秒后开始,休眠60秒后RTC唤醒恢复");
- for(i = GPIOA_02; i < GPIO_NONE; i++)
- {
- GPIO_PullConfig(i, 0, 0);
- GPIO_Config(i, 0, 0);
- }
- Task_DelayMS(1000);
- PM_SetDriverRunFlag(PM_DRV_DBG, 0); //DBG是开机就打开的,如果没有其他外设使用,关闭这个就可以进入低功耗
- RTC_SetAlarm(60, test_done, 1); //开个RTC唤醒一下,或者键盘,或者GPIO
- while(1)
- {
- Task_DelayMS(1000);
- DBG("UTC %llu", RTC_GetUTC());
- }
- }
- void PM_TestInit(void)
- {
- Task_Create(prvPM_Test, NULL, 1024, SERVICE_TASK_PRO, "pm task");
- }
- //INIT_TASK_EXPORT(PM_TestInit, "3");
|