Перейти к содержанию
    

Наверно, глупый вопрос

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

 

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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

В общем, понятно, что надо и RM читать, и хидер вышеобозначенный.. двойная работа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...