我正在使用 STM32G031F6 微控制器,并设置了停止模式。 代码:
SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;
PWR->CR1 = (PWR->CR1 & ~PWR_CR1_LPMS) | PWR_CR1_LPMS_0;
SCB->SCR |= (uint32_t)SCB_SCR_SLEEPDEEP_Msk;
DBG->CR |= DBG_CR_DBG_STOP;
__WFI();
SCB->SCR &= (uint32_t)~SCB_SCR_SLEEPDEEP_Msk;
SystemCoreClockUpdate();
SysTick_Config((SystemCoreClock / 1000));
我现在遇到的问题是,当我用st link编程时,在停止模式下消耗300uA,而应该是4uA。但当我完全切断电源并重新连接时,电流消耗为4uA。 我该怎么做才能让编程后电流为4uA并且不需要切断电源?
调试器可能会启用一个位,以在低功耗模式下保持处理器运行。您的工具链 (IDE) 中可能有一些设置可以防止这种情况发生。