stm32u575 Low power consumption
When using this microcontroller, after entering low-power mode via the HAL_PWREx_EnterSHUTDOWNMode() function, I found that there is a 0.9V voltage on VCAP. But the program indeed did not continue performing the reset operation.Do I need to turn off anything before entering this mode? I have used peripherals such as DMA (linked list in circular mode), SPI, USART, ADC, and GPIO.
The following is my function for entering low power mode.
static void DevLowerKeyInit(uint8_t *index) {
(void)index;
osDelay(200);
vTaskSuspendAll();
SysTick->CTRL &= ~SysTick_CTRL_TICKINT_Msk;
for (uint32_t i = 0; i < 16; i++) {
NVIC->ICER[i] = 0xFFFFFFFF;
NVIC->ICPR[i] = 0xFFFFFFFF;
}
HAL_DBGMCU_DisableDBGStandbyMode();
HAL_DBGMCU_DisableDBGStopMode();
extern void MX_GPIO_ALL_ANALOG_Init(void);
MX_GPIO_ALL_ANALOG_Init();
__HAL_PWR_CLEAR_FLAG(PWR_WAKEUP_FLAG2);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_STOPF);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SBF);
__DSB();
__DSB();
__DSB();
HAL_PWREx_EnterSHUTDOWNMode();
HAL_PWREx_DisablePullUpPullDownConfig();
NVIC_SystemReset();
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;
xTaskResumeAll();
}
void MX_GPIO_ALL_ANALOG_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_ALL;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
}
