Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FreeRTOS STM32 HAL stop mode
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
KARLSON
Здравствуйте.
Скажите, пожалуйста, надо ли что-то делать с операционкой перед или после функции HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI);
Эта функция запускается в одной из задач. После пробуждения программа ведёт себя как -то не так.
razrab83
Ни чего делать не нужно. Вернее я ни чего не делаю. ОС работает нормально после пробуждения.
KARLSON
У меня частота LPUART-а на много уменьшилась. Скорее всего дело не в операционке, а какую то переферию надо переинициализировать.
razrab83
нужно запустить HSE. Возможно у вас проц начинает работать на другом генереаторе и другой частоте.

Код
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

    /* Disable Wakeup Counter */
    RTC_WakeUpCmd(DISABLE);
    /* After wake-up from STOP reconfigure the system clock */
    /* Enable HSE */
    RCC_HSEConfig(RCC_HSE_ON);

    /* Wait till HSE is ready */
    while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
    {
    }

    /* Enable PLL */
    RCC_PLLCmd(ENABLE);

    /* Wait till PLL is ready */
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    ;

    /* Select PLL as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    /* Wait till PLL is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08)
    ;
KARLSON
Да, так и получилось. Частота тактирования уменьшилась. После выхода ещё раз вызвал SystemClock_Config();
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.