Backup domain control register (RCC_BDCR)
Регистр управления доменом резервного копирования Backup
Смещение (Address offset): 0x20
Reset value: 0x0000'0000 - после сброса резервного домена
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
Reserved | |||||||
--- | --- | --- | --- | --- | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Reserved | BDRST | ||||||
--- | --- | --- | --- | --- | --- | --- | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
RTCEN | Reserved | RTCSEL[1:0] | |||||
rw | --- | --- | --- | --- | --- | rw | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | LSEBYP | LSERDY | LSEON | ||||
--- | --- | --- | --- | --- | rw | r | rw |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Биты LSEON, LSEBYP, RTCSEL и RTCEN регистра управления доменом резервного копирования RCC_BDCR находятся в резервном домене питания микроконтроллера. После сброса эти биты защищены от записи, и перед их изменением необходимо установить бит DBP в регистре управления питанием PWR_CR.
Биты LSEON, LSEBYP, RTCSEL и RTCEN сбрасываются только после сброса резервного домена. Любой внутренний или внешний сброс не окажет никакого влияния на эти биты.
При последовательном обращении к регистру RCC_BDCR необходимо вводить до 3-х тактов ожидания.
0 : сброс неактивен.
1 : сброс всего домена резервного копирования Backup.
0 : часы реального времени RTC отключены.
1 : часы реального времени RTC включены.
Устанавливается программно. После установки нельзя изменить, пока не будет сброшен домен резервного копирования Backup. Для сброса можно использовать бит BDRST.
00 : тактирование отключено.
01 : для тактирования RTC используется внешний генератор LSE.
10 : для тактирования RTC используется внутренний генератор LSI.
11 : для тактирования RTC используется внешний генератор HSE с делением частоты на 128.
0 : внешний генератор LSE работает от кварцевого резонатора 32 кГц.
1 : кварцевый резонатор отключен, микроконтроллер тактируется от внешнего источника (частотой до 1 МГц, скважностью близкой к 2, прямоугольной, треугольной или синусоидальной формой сигнала). Внешний тактовый сигнал подключается к выводу OSC32_IN. Вывод OSC32_OUT не используется.
Устанавливается и сбрасывается аппаратно. При отключении LSE требуется 6 тактов генерации для сброса флага LSERDY.
0 : частота нестабильна, LSE генератор не готов.
1 : частота стабилизировалась, сигнал генератора LSE можно использовать для тактирования.
0 : генератор LSE отключен.
1 : генератор LSE включен.
/******************* Bit definition for RCC_BDCR register *******************/
#define RCC_BDCR_LSEON ((uint32_t)0x00000001) /* External Low Speed oscillator enable */
#define RCC_BDCR_LSERDY ((uint32_t)0x00000002) /* External Low Speed oscillator Ready */
#define RCC_BDCR_LSEBYP ((uint32_t)0x00000004) /* External Low Speed oscillator Bypass */
#define RCC_BDCR_RTCSEL ((uint32_t)0x00000300) /* RTCSEL[1:0] bits (RTC clock source selection) */
#define RCC_BDCR_RTCSEL_0 ((uint32_t)0x00000100) /* Bit 0 */
#define RCC_BDCR_RTCSEL_1 ((uint32_t)0x00000200) /* Bit 1 */
/* RTC congiguration */
#define RCC_BDCR_RTCSEL_NOCLOCK ((uint32_t)0x00000000) /* No clock */
#define RCC_BDCR_RTCSEL_LSE ((uint32_t)0x00000100) /* LSE oscillator clock used as RTC clock */
#define RCC_BDCR_RTCSEL_LSI ((uint32_t)0x00000200) /* LSI oscillator clock used as RTC clock */
#define RCC_BDCR_RTCSEL_HSE ((uint32_t)0x00000300) /* HSE oscillator clock divided by 128 used as RTC clock */
#define RCC_BDCR_RTCEN ((uint32_t)0x00008000) /* RTC clock enable */
#define RCC_BDCR_BDRST ((uint32_t)0x00010000) /* Backup domain software reset */