Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4Discovery
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Vladislav_Minsk
Добрый день. Снова возникли вопросы по указанной плате.
Судь в следующем. В документации на контроллер про регистр RCC_CR указанно состояние при сбросе 0x0000ХХ83. Что означает включение HSI и отключение HSE, PLL main и PLL I2S.
Однако, в отладчике в регистрах при загрузке стоят совсем другие значения. Из которых видно, что все элелементы, кроме PLL I2S включены. И выключить их удалось, только после загрузки в регистр RCC_CFGR значения с выбором источника тактирования. До этого побитно отключить неиспользуемые элементы не удалось. Значения в регистре RCC_CR не менялись.
Вдобавок, в описании регистра RCC_CFGR присутствует такая строчка "1 or 2 wait states inserted only if the access occurs during a clock source switch"
Перевести её по словам не сложно, но общий смысл по отношению к контроллеру понять не смог... Значения регистра при инициализации указанны 0х00000000... Однако в отладчике снова другие значения...
Опытным путём установил, что обратиться к данному регистру изменяя биты отдельно, не получается...
Вот эта надпись работает:
RCC->CFGR = 0x00000001; // set HSE system clock
А вот эта нет:
RCC->CFGR |= (1<<0); // set HSE system clock
Может быть кто-то разбирался с этим регистром...? О каких задержках идёт речь в нём, когда их нужно вставлять и при каких переключениях...?
И только после установки RCC->CFGR = 0x00000001; // set HSE system clock можно было отключить HSI и PLL main сбрасывая соответствующие биты регистра RCC_CR...
ViKo
С STM32F4 не работал. Но в StdLib должна быть функция SystemInit(), которая вызывается по сбросу из startup.s. В этой функции устанавливаются частоты. Изучите ее.
sla000
Цитата(Vladislav_Minsk @ Nov 28 2012, 13:49) *
Вот эта надпись работает:
RCC->CFGR = 0x00000001; // set HSE system clock
А вот эта нет:
RCC->CFGR |= (1<<0); // set HSE system clock

Эти записи не равнозначны. Первая сбрасывает все биты а младший бит устанавливает, вторая только устанавливает младший бит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.