Clock control register (RCC_CR)
Регистр управления тактированием
Смещение (Address offset): 0x00
Reset value: 0x0000'XX83
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
Reserved | PLLRDY | PLLON | |||||
--- | --- | --- | --- | --- | --- | r | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | CSSON | HSEBYP | HSERDY | HSEON | |||
--- | --- | --- | --- | rw | rw | r | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
HSICAL[7:0] | |||||||
r | r | r | r | r | r | r | r |
x | x | x | x | x | x | x | x |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
HSITRIM[4:0] | Reserved | HSIRDY | HSION | ||||
rw | rw | rw | rw | rw | --- | r | rw |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Устанавливается аппаратно. Сигнализирует о стабильности тактовой частоты на выходе блока PLL.
0 : тактовая частота нестабильна.
1 : тактовая частота PLLCLK на выходе блока PLL стабильна и её можно использовать как системную тактовую частоту SYSCLK.
Сбрасывается аппаратно при переходе микроконтроллера в режимы Stop и Standby.
Бит не может быть сброшен, если блок PLL используется для формирования системной тактовой частоты SYSCLK.
0 : блок PLL выключен.
1 : блок PLL включен.
0 : контроль отключен.
1 : контроль включен. При обнаружении ошибки частоты внешнего генератора HSE, система автоматически переключается на тактирование от встроенного генератора HSI.
Для изменения бита необходимо программно отключать внешний генератор HSE.
0 : работа от внешнего кварцевого разонатора.
1 : работа от внешнего источника тактовых импульсов (4...16 МГц) без использования кварцевого резонатора. При этом бит HSEON тоже должен быть установлен.
Устанавливается аппаратно и сигнализирует что частота внешнего генератора HSE стабильна.
0 : HSE генератор не готов.
1 : HSE генератор готов. Частота тактового сигнала на выходе HSE стабильна.
Сбрасывается аппаратно при переходе микроконтроллера в режимы Stop и Standby.
Бит не может быть сброшен, если HSE генератор используется прямо или косвенно для формирования системной тактовой частоты SYSCLK.
0 : HSE генератор отключен.
0 : HSE генератор включен.
Устанавливается системой автоматически после включения. Только для чтения.
Является дополнением к аппаратно устанавливаемому калибровочному значению генератора HSI. По умолчанию имеет значение 0x10, которое складывается с HSICAL[7:0] и приближает частоту HSI к значению 8 МГц ± 1%. Шаг подстройки составляет около 40 кГц.
Устанавливается аппаратно и сигнализирует что частота встроенного генератора HSI 8 МГц стабильна.
0 : HSI генератор не готов.
1 : HSI генератор готов. Частота тактового сигнала 8 МГц на выходе HSI стабильна.
Устанавливается аппаратно и включает встроенный генератор HSI при выходе микроконтроллера из режимов Stop и Standby.
Устанавливается аппаратно и включает встроенный генератор HSI при сбое внешнего генератора HSE и срабатывании защиты CSS.
Бит не может быть сброшен, если HSI генератор используется прямо или косвенно для формирования системной тактовой частоты SYSCLK.
0 : HSI генератор отключен.
0 : HSI генератор включен.
/******************** Bit definition for RCC_CR register ********************/
#define RCC_CR_HSION ((uint32_t)0x00000001) /* Internal High Speed clock enable */
#define RCC_CR_HSIRDY ((uint32_t)0x00000002) /* Internal High Speed clock ready flag */
#define RCC_CR_HSITRIM ((uint32_t)0x000000F8) /* Internal High Speed clock trimming */
#define RCC_CR_HSICAL ((uint32_t)0x0000FF00) /* Internal High Speed clock Calibration */
#define RCC_CR_HSEON ((uint32_t)0x00010000) /* External High Speed clock enable */
#define RCC_CR_HSERDY ((uint32_t)0x00020000) /* External High Speed clock ready flag */
#define RCC_CR_HSEBYP ((uint32_t)0x00040000) /* External High Speed clock Bypass */
#define RCC_CR_CSSON ((uint32_t)0x00080000) /* Clock Security System enable */
#define RCC_CR_PLLON ((uint32_t)0x01000000) /* PLL enable */
#define RCC_CR_PLLRDY ((uint32_t)0x02000000) /* PLL clock ready flag */
#define RCC_CR_PLL2ON ((uint32_t)0x04000000) /* PLL2 enable */
#define RCC_CR_PLL2RDY ((uint32_t)0x08000000) /* PLL2 clock ready flag */
#define RCC_CR_PLL3ON ((uint32_t)0x10000000) /* PLL3 enable */
#define RCC_CR_PLL3RDY ((uint32_t)0x20000000) /* PLL3 clock ready flag */