Цитата(evgen2 @ Jul 17 2015, 12:25)

Ясно оно становится после того, как в десятый раз прочтешь и наступишь на все грабли. Вот я как раз в процессе.
Это точно, читать там надо несколько раз, пока понимание не придёт

Мне кстати нужно было чтобы работала встроенная тактируемая периферия (таймер) и при этом - минимальное потребление (устройство должно было периодически просыпаться, раз в неск. сотен мс,
опрашивать некоторую периферию (UART) и опять засыпать).
А среди режимов сна, в тех, которые удовлетворяли по потреблению, тактируемая периферия (в частности внутр. таймеры) не работают, а в тех, в которых они работают, потребление слишком большое.
Задействовать прерывание RTC или внешнее прерывание я не мог, так как изменения вносились в готовую плату и RTC там было не запитано.
Поэтому я сделал просто:
При входе в сон отключаю всю периферию. Все пины - в режим GPIO с нужными для сна уровнями. Перехожу на IRC без PLL, выключаю PLL.
Выставляю делитель частоты CPU (SYSCFG.CCLKCFG) на максимальный коэфф. деления == 256.
Запускаю Systick на требуемый интервал сна (с учётом текущей частоты ядра).
Затем - _WFE() и сон с завершением сна по прерыванию Systick и восстановлением всего в обратном порядке.
Получилось, что у меня ядро работало на частоте IRC/256=15.625кГц и весь МК потреблял примерно как в Power-down режиме.
Так что такой режим эквивалентен по потреблению режиму Power-down.