Skip to main content
HSmir
Visitor II
August 6, 2019
Question

My STM32L053 draining the battery after USB disconnect when in deep sleep mode???

  • August 6, 2019
  • 0 replies
  • 407 views
void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
{
 /* Inform USB library that core enters in suspend Mode */
 USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData);
 /*Enter in STOP mode */
 /* USER CODE BEGIN 2 */
 if (hpcd->Init.low_power_enable)
 {
 /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register */
 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk));
 }
 /* USER CODE END 2 */
}
 
void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
{
 /* USER CODE BEGIN 3 */
 if (hpcd->Init.low_power_enable)
 {
 /* Reset SLEEPDEEP bit of Cortex System Control Register */
 SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 
 SystemClockConfig_Resume(); 
 }
 /* USER CODE END 3 */
 USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData);
 
}

This topic has been closed for replies.