123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "includes.h"
- #if 1
- void Sleeping(void)
- {
-
- SlwTrace(INF, "Sleeping",1);
-
- PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
-
- }
- #else
- void Sleeping(void)
- {
- SlwTrace(INF, "Sleeping",1);
- KEYBOARD_BACKLIGHT_LOW;
- SpeakerDisable();MicDisable();
- LCD_BL_LOW;
- MODEM_RESET_HIGH;
- MODEM_PWRKEY_LOW;
- GPS_PWREN_LOW;
- IWDG_Configuration(3000);
- ENTERSTOPMODE:
-
- dev_rtc_setAlarm(15);
-
- printf("time go go step1\r\n");
- EXTI_ClearITPendingBit(EXTI_Line17);
-
- ADC_Cmd (ADC1,DISABLE);
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
- PWR_WakeUpPinCmd(ENABLE);
- PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
-
- if(dev_rtc_isAlarm())
- {
- IWDG_ReloadCounter();
- SystemInit();
- ADCInit();
- ADC_Cmd (ADC1,ENABLE);
- if(GetOneceVbat()>77){
- printf("Wake Up\r\n");
- while(1);
- }
- goto ENTERSTOPMODE;
- }
- }
- #endif
- #if 0
- void dev_rtc_setAlarm(int AlarmValue)
- {
- RTC_ITConfig(RTC_IT_ALR, ENABLE);
-
- RTC_ClearFlag(RTC_FLAG_SEC);
-
- while(RTC_GetFlagStatus(RTC_FLAG_SEC) == RESET);
-
- RTC_WaitForLastTask();
-
- RTC_SetAlarm(RTC_GetCounter() + AlarmValue);
-
- RTC_WaitForLastTask();
-
- }
- unsigned char dev_rtc_isAlarm(void)
- {
- if(g_bRTCAlarm)
- {
-
- g_bRTCAlarm = 0;
- return 1;
- }
- return 0;
- }
- #endif
|