Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2739
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Управление питанием

503

Рисунок 8. Оптимизация энергопотребления в зависимости от частоты в серии STM32L4

19.4.2.2. Спящие режимы

Спящие режимы позволяют использовать все периферийные устройства, одновременно обеспечивая самое быстрое время пробуждения. В данных режимах ЦПУ останавливается, и тактирование каждого периферийного устройства может быть сконфигурировано программно на их включение или отключение в течение спящего режима и спящего режима с пониженным энергопотреблением (low-power sleep mode). В эти режимы перехо-

дят путем выполнения ассемблерных инструкций WFI или WFE. Для перевода микроконтроллера в один из двух спящих режимов, CubeHAL предоставляет функцию:

void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry);

Первый параметр, Regulator, может принимать значения PWR_MAINREGULATOR_ON и PWR_LOWPOWERREGULATOR_ON: первый переводит микроконтроллер в спящий режим, второй – в

спящий режим с пониженным энергопотреблением. Второй параметр, SLEEPEntry, может принимать значения PWR_SLEEPENTRY_WFI или PWR_SLEEPENTRY_WFE: как следует из названий, первый выполняет инструкцию WFI, а второй – WFE.

Прочитайте внимательно

Обратите внимание, что для микроконтроллеров STM32L системная частота не должна превышать значение MSI-генератора range 1 в этом режиме питания. Пожалуйста, обратитесь к описанию продукта для более подробной информации об условиях работы регулятора напряжения и периферийных устройств.

Если для перехода в спящий режим используется инструкция WFI, то любое прерывание от периферийного устройства, подтвержденное контроллером NVIC, может пробудить устройство из спящего режима.

Если для перехода в спящий режим используется инструкция WFE, то микроконтроллер выходит из спящего режима, как только происходит событие. Событие пробуждения может быть сгенерировано в следующих случаях: