Во! Во! Сразу вижу... STM... с большой буквы!
Ты не думай, я ж уже второй дозик на STM32 делаю, первым был Альфа-Микрон, там я тоже основательно долбался с питанием.
Все очень не тривиально, есть куча огрехов в примерах, возьмем базовый хотя-бы фейл:
Пример гласит, чтоб минимизировать прожорливость портов, надо их перевести в аналоговый режим... нифига! в аналоге 5В толерант сразу забывает что он толерант, да и через внешне подтянутые ноги тече... ой как тече.
Мне помог перевод ног в
Код: Выделить всё
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
Естественно те ноги на которых есть потенциал по схеме, я отключаю транзистор ножки, а те которые архитектурно на земле(подтяжки и вообще) включаю транзистор.
Не дай бог! ты выставил выход таймера на ножку, его отключить с ноги у меня так и не получилось, откуда-то резко возникает ток, несмотя на то что "AF" ножки уже переконфигурированно. Такие ноги приходится вообще не трогать перед переходом в сон.
С таймерами вообще много нюансов при сне.
Ну я уже не говорю о очевидном "попользовался переферией, отключи! и не абы как, а в строгой последовательности", да и отключить можно не все
Таких приколов тьма! и нифига ничо нигде не написано. Пока не будет простых библиотек перефирии которые будут все учитывать сами по себе, армы не пойдут в массы. Как сейчас, их осваивают только "сертифицированные мозохисты".
Сейчас буду разбираться с системой тактирования, если удасться ее переключать без особых проблем, то организую работу USB в основной программе. Задача как выяснилось совсем не тривиальная. Уже второй проект подряд не оставляю попыток запустить USB в основной программе. Пока безрезультатно... интересно сколько потребуется лет долбаться с STM32 чтоб он заработал нормально?

Дошло до того, что приходится писать систему детектирования RCC модуля, чтоб переконфигурировать только то что надо, а не все сразу как в SystemInit(), иначе возникают проблемы.
PS. Иногда нервы не выдерживают...
пример
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.