/* This function handles USB OTG FS Wakeup IRQ Handler.  */
void OTG_FS_WKUP_IRQHandler(void)
/* This function handles USB OTG FS Wakeup IRQ Handler.  */
void OTG_FS_WKUP_IRQHandler(void)
{
  if((&hpcd)->Init.low_power_enable)
  {
    SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk));
    __HAL_RCC_HSE_CONFIG(RCC_HSE_ON);  
    while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
    {}
    __HAL_RCC_PLL_ENABLE();  
    while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
    {}
    MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_SYSCLKSOURCE_PLLCLK);
    while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL)
    {}
    __HAL_PCD_UNGATE_PHYCLOCK((&hpcd)); 
  }
  __HAL_USB_OTG_FS_WAKEUP_EXTI_CLEAR_FLAG();
}