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

 
 
> Наверно, глупый вопрос, stm32
MarYuriy
сообщение Dec 8 2011, 10:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 20-11-10
Пользователь №: 61 036



Чем отличается запись?

RCC->CFGR |= RCC_CFGR_SW_HSE;

от

RCC->CFGR |= RCC_CFGR_SW;

Это из-за того, что SW отвечает за 2 бита, а не один? Нашёл на http://eugenemcu.ru/publ/13-1-0-73

Но там же есть итакая запись

RCC->CFGR|=RCC_CFGR_PLLSRC_HSE; // Тактировать PLL от HSE (8 MHz).

А HSE отвечает за 1 бит...

Нашёл в stm32f10x.h

#define RCC_CFGR_SWS_HSI ((uint32_t)0x00000000) /*!< HSI oscillator used as system clock */
#define RCC_CFGR_SWS_HSE ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */
#define RCC_CFGR_SWS_PLL ((uint32_t)0x00000008) /*!< PLL used as system clock */

а всё-таки правомерна такая запись

RCC->CFGR|=RCC_CFGR_PLLSRC;
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tolyaha
сообщение Dec 8 2011, 13:58
Сообщение #2


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

Группа: Свой
Сообщений: 116
Регистрация: 2-03-07
Из: Украина
Пользователь №: 25 826



Цитата(MarYuriy @ Dec 8 2011, 12:37) *
Чем отличается запись?

RCC->CFGR |= RCC_CFGR_SW_HSE; - подключит внешний тактовый вход HSE к системнным тактам SYS CLK
RCC->CFGR |= RCC_CFGR_SW;- не допускается по даташиту (см. ниже 11: not allowed)
RCC->CFGR|=RCC_CFGR_PLLSRC;- - подключит внешний тактовый вход HSE к умножителю PLL

из библиотеки STM:

#define RCC_CFGR_SW_HSE ((uint32_t)0x00000001) /*!< HSE selected as system clock */
#define RCC_CFGR_SW ((uint32_t)0x00000003) /*!< SW[1:0] bits (System clock Switch) */
#define RCC_CFGR_PLLSRC ((uint32_t)0x00010000) /*!< PLL entry clock source */

из даташита:

Bits 1:0 SW: System clock switch
Set and cleared by software to select SYSCLK source.
Set by hardware to force HSI selection when leaving Stop and Standby mode or in case of
failure of the HSE oscillator used directly or indirectly as system clock (if the Clock Security
System is enabled).
00: HSI selected as system clock
01: HSE selected as system clock
10: PLL selected as system clock
11: not allowed

Bit 16 PLLSRC: PLL entry clock source
Set and cleared by software to select PLL clock source. This bit can be written only when
PLL is disabled.
0: HSI oscillator clock / 2 selected as PLL input clock
1: HSE oscillator clock selected as PLL input clock
Go to the top of the page
 
+Quote Post
MarYuriy
сообщение Dec 10 2011, 10:38
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 20-11-10
Пользователь №: 61 036



Спасибо за ответ.

В общем, понятно, что надо и RM читать, и хидер вышеобозначенный.. двойная работа.
Go to the top of the page
 
+Quote Post



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

 


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


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