再去关闭RTC,然后MCU进入停止模式,会增加1.5ua电流的耗电。需要实现的功能:外部用1个按键用于开启MCU的内部RTC,用于1S唤醒1次停止模式状态下的mcu。这个按键再按一下可以关闭MCU内部的RTC,使MCU一直在停止模式。
遇到的问题:按键开启MCU的内部RTC时,如果在1S内RTC触发唤醒中断前关闭RTC,再让MCU进入停止模式,此时MCU的耗电是0.8ua。如果让RTC触发了触发了1次唤醒中断,再去关闭RTC,再让MCU进入听停止模式,此时MCU的耗电是2.3ua。像问一下这到底是什么问题?是我关闭RTC的方法有误吗?下面是我用6行关闭RTC的代码。
HAL_RTC_DeInit(&Inside_Rtc);
__HAL_RCC_RTC_DISABLE();
HAL_NVIC_DisableIRQ(RTC_IRQn);
__HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(&Inside_Rtc, RTC_FLAG_WUTF);
__HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG();
__HAL_RCC_LSE_CONFIG(RCC_LSE_OFF);
|