@@ -263,7 +263,7 @@ static void soc_update_by_current_and_time(float current_now, float delta_time,
}
void soc_update_for_deepsleep(float sleep_time){
- soc_update_by_current_and_time(-1.0f, sleep_time, 0);
+ soc_update_by_current_and_time(-0.31f, sleep_time, 0); //ÐÝÃß¹¦ºÄ310uA(300uA + 10uA¹Ì¶¨ÏûºÄ)
void soc_update(void){
@@ -124,13 +124,13 @@ void mcu_enter_deepsleep(void){
wdog_reload();
while (shark_rtc_start_alarm(RTC_ALARM_FOR_SLEEP) < 0){
- if (_is_wakeup_source()){
+ if (_is_wakeup_source() || (_sleep_second_time_now >= (24 * 60 * 60))){
break;
wait_for_enter_dsleep();
- }while(!_is_wakeup_source());
+ }while(!_is_wakeup_source() && (_sleep_second_time_now < (24 * 60 * 60)));
_sleep_second_time += _sleep_second_time_now;
disable_wakeup_irq();
post_deepsleep();