Доброго времени суток. Учу основы stm. Пытаюсь разобраться с регулировкой тактирования.
в reference manual нашел схему. начало кода https://pastebin.com/p875ni1t
Но не пойму как дальше писать.
1. по схеме HSE (4-26 MHz) - как определить и настроить точное значение? от чего зависит
2.и HSE и HSI судя по схеме проходят через блок SW - он определяет от чего тактируемся - регистр нашел.
3. а вот куда дальше двигаться?
4. читал на форумах - зачем то еще с flash-ом указывают доп настройки..
Выбор кварца на HSE зависит от того, будет ли использоваться какое-то особое оборудование, вроде I2S. А если только ядро да USB, тогда можно взять любой из рекомендуемых, M выбрать равным кварцу, чтобы на PLL зашло 1МГц, а далее N=336, P=2 и Q=7, так мы получаем PLLCLK=168МГц и 48МГц для USB. Остальные делители по вкусу.
[uquote="__focus",url="/forum/viewtopic.php?p=3787145#p3787145"]4. читал на форумах - зачем то еще с flash-ом указывают доп настройки..[/uquote]Flash не может работать на полной скорости процессора. При старте, пока процессор работает от HSI, она успевает работать с минимальными задержками. Перед повышением частоты надо добавлять задержки в параметры flash, иначе будут страшные необъяснимые глюки.
[uquote="__focus",url="/forum/viewtopic.php?p=3787145#p3787145"]В общем в тупике. и да - использую cmsis[/uquote]Похвально. У меня на f407 нет, но вот смотри как на F411 частоты поднимаются. Возьми этот шаблон за основу - там разница не шибко большая будет. Открой куб, как посоветовал optima, и просчитай в нём все делители. Ну и по RM впиши их в регистры по этому шаблону.
1. HSE будет таким, какой кварц вы поставите. И не обязательно 8 МГц. Можно даже 4,33 МГц или 8,192 МГц.
2. Да. Это просто переключатель - от чего будет работать МК дальше. От внешнего кварца HSE, от внутреннего RC-осциллятора HSI на 8 МГц или даже от умножителя частоты PLL.
3. А всё, можно никуда дальше и не двигаться. Дальше идет главный предделитель, его можно оставлять 1:1, и предделители двух основных периферийных шин. Скоростная APB2 и помедленнее APB1. Пока работаете от HSE или HSI, их тоже можно оставить 1:1 и не трогать. Если будете работать через умножитель частоты, подняв частоту, то у этих шин прописана максимальная частота - и делителями шин можно уложиться в допуск. Потом посмотрите, что такое PLL - фазовый умножитель частоты.
4. Пока работаете на низкой частоте примерно до 24 МГц, это вас не должно волновать, можно ничего не трогать. А как только частота будет выше (от PLL), надо внести поправки. В референс-мануале написано, сколько циклов ожидания нужно добавить для выбранного диапазона тактовой частоты и имеющегося напряжения питания (про напряж. питания часто забывают!)