реклама на сайте
подробности

 
 
> Настройка тактирования STM32F373, через StdPeriph_rcc
styuf
сообщение Jan 9 2017, 15:29
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 4-02-10
Пользователь №: 55 287



Добрый день!
Разобравшись с правильным тактирование USB в мк данного типа, обнаружил, что не могу через функции стандартной библиотеки переферии rcc сконфигурировать частоты шин, и, соответственно, таймера.
Что хочу: хочу, имея внешинй кварц на 8 МГц, получить 48 МГц на шине USB, 48 - Мгц SYSCLK, 24 МГц - APB1, 48 МГц - TIM2.
Пишу код вот такой:

CODE
/* rcc init start */
RCC_DeInit(); //reset all rcc settings
RCC_HSICmd(DISABLE); //hsi off
RCC_HSEConfig(RCC_HSE_ON); //hse on
RCC_PREDIV1Config(RCC_PREDIV1_Div1); //div1-hse pll_in
RCC_PLLConfig(RCC_PLLSource_PREDIV1 ,RCC_PLLMul_6); // pll_clock=(8MHz/1)*6=48MHz
RCC_PLLCmd(ENABLE); // pll enable
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //pll_clk is system clk source
RCC_HCLKConfig(RCC_SYSCLK_Div2); //ahb_clk_devider
RCC_PCLK1Config(RCC_HCLK_Div2); //apb1_clk_devider
/* rcc init end */


Далее настраиваю таймер, на мегание в 1-у секунду. И он мигает с частотой около одной секунды. Экспериментально установлено, что он мигает с частотой, соответствующей частоте таймера в 72МГц, а не 48, как планировалось. 72 - это цифра для настроек по умолчанию, но ведь я их заменяю на новые!

Попробовал все тоже самое проделать через CubeMX - и получилось с первого раза. Есть какой-то нюанс, видимо в ручной настройки тактирования.

Если кто-то понимает в чем дело - помогите, пожалуйста.

Сообщение отредактировал styuf - Jan 9 2017, 16:01
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 07:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01326 секунд с 7
ELECTRONIX ©2004-2016