Регистры RTC STM32G4
Регистры RTC и TAMP STM32G4: календарь в BCD и доли секунды, предделители, два будильника, таймер пробуждения, метка времени, калибровка, флаги в SR и их сброс в SCR, входы вмешательства и 32 резервных регистра.
Содержание
- Регистры блока
- Конструктор
- RTC_TR
- RTC_DR
- RTC_SSR
- RTC_ICSR
- RTC_PRER
- RTC_WUTR
- RTC_CR
- RTC_WPR
- RTC_CALR
- RTC_SHIFTR
- RTC_TSTR
- RTC_TSDR
- RTC_TSSSR
- RTC_ALRMAR
- RTC_ALRMASSR
- RTC_ALRMBR
- RTC_ALRMBSSR
- RTC_SR
- RTC_MISR
- RTC_SCR
- TAMP_CR1
- TAMP_CR2
- TAMP_FLTCR
- TAMP_IER
- TAMP_SR
- TAMP_MISR
- TAMP_SCR
- TAMP_BKP0R
- TAMP_BKP1R
- TAMP_BKP2R
- TAMP_BKP3R
- TAMP_BKP4R
- TAMP_BKP5R
- TAMP_BKP6R
- TAMP_BKP7R
- TAMP_BKP8R
- TAMP_BKP9R
- TAMP_BKP10R
- TAMP_BKP11R
- TAMP_BKP12R
- TAMP_BKP13R
- TAMP_BKP14R
- TAMP_BKP15R
- TAMP_BKP16R
- TAMP_BKP17R
- TAMP_BKP18R
- TAMP_BKP19R
- TAMP_BKP20R
- TAMP_BKP21R
- TAMP_BKP22R
- TAMP_BKP23R
- TAMP_BKP24R
- TAMP_BKP25R
- TAMP_BKP26R
- TAMP_BKP27R
- TAMP_BKP28R
- TAMP_BKP29R
- TAMP_BKP30R
- TAMP_BKP31R
RTC STM32G4 — то же поколение, что у STM32G0: инициализация и состояние вынесены в ICSR, флаги — в SR, флаги разрешённых прерываний — в MISR, сброс флагов — запись 1 в SCR. Входы вмешательства и резервные регистры перенесены в отдельный блок TAMP (RM0440, разделы 37.6 и 38.6).
Регистры RTC защищены от записи (0xCA и 0x53 в WPR), домен RTC — битом DBP в PWR_CR1. Резервных регистров TAMP_BKP0R…BKP31R 32; срабатывание входа вмешательства стирает их, если не установлен TAMPxNOERASE. Тактирование RTC — LSE, LSI или HSE / 32 (RTCSEL в RCC_BDCR); для доступа к регистрам нужен ещё бит RTCAPBEN в RCC_APB1ENR1.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| RTC | 0x4000 2800 | всех |
| TAMP | 0x4000 2400 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| RTC_TR | 0x00 | Время | 0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1) |
| RTC_DR | 0x04 | Дата | 0x0000 2101 (при сбросе резервного домена; системный сброс даёт 0x0000 2101 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1) |
| RTC_SSR | 0x08 | Доли секунды | 0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1) |
| RTC_ICSR | 0x0C | Инициализация и состояние | 0x0000 0007 (при сбросе резервного домена; системный сброс обнуляет только INIT, INITF и RSF) |
| RTC_PRER | 0x10 | Предделители | 0x007F 00FF (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_WUTR | 0x14 | Период таймера пробуждения | 0x0000 FFFF (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_CR | 0x18 | Будильники, таймер пробуждения, метка времени, выходы | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_WPR | 0x24 | Защита от записи | 0x0000 0000 |
| RTC_CALR | 0x28 | Точная калибровка хода | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_SHIFTR | 0x2C | Сдвиг на доли секунды | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_TSTR | 0x30 | Метка времени: время | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_TSDR | 0x34 | Метка времени: дата | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_TSSSR | 0x38 | Метка времени: доли секунды | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_ALRMAR | 0x40 | Будильник A | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_ALRMASSR | 0x44 | Будильник A: доли секунды | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_ALRMBR | 0x48 | Будильник B | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_ALRMBSSR | 0x4C | Будильник B: доли секунды | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_SR | 0x50 | Флаги | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_MISR | 0x54 | Флаги разрешённых прерываний | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| RTC_SCR | 0x5C | Сброс флагов | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_CR1 | 0x00 | Включение входов вмешательства | 0xFFFF 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_CR2 | 0x04 | Активный уровень и действие входов вмешательства | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_FLTCR | 0x0C | Фильтр и предзаряд входов вмешательства | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_IER | 0x2C | Разрешение прерываний | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_SR | 0x30 | Флаги вмешательства | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_MISR | 0x34 | Флаги разрешённых прерываний | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_SCR | 0x3C | Сброс флагов | 0x0000 0000 (при системном сбросе) |
| TAMP_BKP0R | 0x100 | Резервный регистр данных 0 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP1R | 0x104 | Резервный регистр данных 1 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP2R | 0x108 | Резервный регистр данных 2 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP3R | 0x10C | Резервный регистр данных 3 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP4R | 0x110 | Резервный регистр данных 4 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP5R | 0x114 | Резервный регистр данных 5 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP6R | 0x118 | Резервный регистр данных 6 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP7R | 0x11C | Резервный регистр данных 7 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP8R | 0x120 | Резервный регистр данных 8 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP9R | 0x124 | Резервный регистр данных 9 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP10R | 0x128 | Резервный регистр данных 10 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP11R | 0x12C | Резервный регистр данных 11 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP12R | 0x130 | Резервный регистр данных 12 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP13R | 0x134 | Резервный регистр данных 13 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP14R | 0x138 | Резервный регистр данных 14 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP15R | 0x13C | Резервный регистр данных 15 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP16R | 0x140 | Резервный регистр данных 16 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP17R | 0x144 | Резервный регистр данных 17 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP18R | 0x148 | Резервный регистр данных 18 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP19R | 0x14C | Резервный регистр данных 19 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP20R | 0x150 | Резервный регистр данных 20 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP21R | 0x154 | Резервный регистр данных 21 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP22R | 0x158 | Резервный регистр данных 22 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP23R | 0x15C | Резервный регистр данных 23 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP24R | 0x160 | Резервный регистр данных 24 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP25R | 0x164 | Резервный регистр данных 25 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP26R | 0x168 | Резервный регистр данных 26 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP27R | 0x16C | Резервный регистр данных 27 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP28R | 0x170 | Резервный регистр данных 28 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP29R | 0x174 | Резервный регистр данных 29 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP30R | 0x178 | Резервный регистр данных 30 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
| TAMP_BKP31R | 0x17C | Резервный регистр данных 31 | 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет) |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000000
0000 0000 0000 0000 0000 0000 0000 0000
RTC->TR = 0x00000000;RTC_TR — время
Смещение 0x00, адрес 0x4000 2800, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1). В коде: RTC->TR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PM | HT | HU | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | MNT | MNU | — | ST | SU | ||||||||||
- PM (бит 22) — AM/PM: 0 — AM или 24-часовой формат, 1 — PM.
- HT (биты 21:20) — Десятки часов (BCD).
- HU (биты 19:16) — Единицы часов (BCD).
- MNT (биты 14:12) — Десятки минут (BCD).
- MNU (биты 11:8) — Единицы минут (BCD).
- ST (биты 6:4) — Десятки секунд (BCD).
- SU (биты 3:0) — Единицы секунд (BCD).
RTC_DR — дата
Смещение 0x04, адрес 0x4000 2804, 32 бит, после сброса 0x0000 2101 (при сбросе резервного домена; системный сброс даёт 0x0000 2101 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1). В коде: RTC->DR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | YT | YU | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WDU | MT | MU | — | DT | DU | ||||||||||
- YT (биты 23:20) — Десятки лет (BCD).
- YU (биты 19:16) — Единицы лет (BCD).
- WDU (биты 15:13) — День недели: 1 — понедельник … 7 — воскресенье.
- MT (бит 12) — Десятки месяца (BCD).
- MU (биты 11:8) — Единицы месяца (BCD).
- DT (биты 5:4) — Десятки числа (BCD).
- DU (биты 3:0) — Единицы числа (BCD).
RTC_SSR — доли секунды
Смещение 0x08, адрес 0x4000 2808, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1). В коде: RTC->SSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | |||||||||||||||
- SS (биты 15:0) — Подсекунды: текущее значение синхронного делителя.
RTC_ICSR — инициализация и состояние
Смещение 0x0C, адрес 0x4000 280C, 32 бит, после сброса 0x0000 0007 (при сбросе резервного домена; системный сброс обнуляет только INIT, INITF и RSF). В коде: RTC->ICSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | RECALPF | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | INIT | INITF | RSF | INITS | SHPF | WUTWF | ALRBWF | ALRAWF | |||||||
- RECALPF (бит 16) — Новая калибровка CALR ещё не применена.
- INIT (бит 7) — Режим инициализации: счёт остановлен.
- INITF (бит 6) — Можно записывать время, дату и делители.
- RSF (бит 5) — Регистры синхронизированы; сбрасывается программно перед чтением.
- INITS (бит 4) — Календарь уже настроен: год не равен 0.
- SHPF (бит 3) — Идёт сдвиг, заданный в SHIFTR.
- WUTWF (бит 2) — Можно менять настройки таймера пробуждения.
- ALRBWF (бит 1) — Можно менять будильник B.
- ALRAWF (бит 0) — Можно менять будильник A.
RTC_PRER — предделители
Смещение 0x10, адрес 0x4000 2810, 32 бит, после сброса 0x007F 00FF (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->PRER.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PREDIV_A | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PREDIV_S | ||||||||||||||
- PREDIV_A (биты 22:16) — Асинхронный делитель: ck_apre = RTCCLK / (PREDIV_A + 1).
- PREDIV_S (биты 14:0) — Синхронный делитель: ck_spre = ck_apre / (PREDIV_S + 1).
RTC_WUTR — период таймера пробуждения
Смещение 0x14, адрес 0x4000 2814, 32 бит, после сброса 0x0000 FFFF (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->WUTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WUT | |||||||||||||||
- WUT (биты 15:0) — Период таймера пробуждения: WUT + 1 тактов выбранной частоты.
RTC_CR — будильники, таймер пробуждения, метка времени, выходы
Смещение 0x18, адрес 0x4000 2818, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->CR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| OUT2EN | TAMPALRM_TYPE | TAMPALRM_PU | — | TAMPOE | TAMPTS | ITSE | COE | OSEL | POL | COSEL | BKP | SUB1H | ADD1H | ||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| TSIE | WUTIE | ALRBIE | ALRAIE | TSE | WUTE | ALRBE | ALRAE | — | FMT | BYPSHAD | REFCKON | TSEDGE | WUCKSEL | ||
- OUT2EN (бит 31) — Вывод RTC_OUT2 (PB2) для сигнала калибровки или будильника.
- TAMPALRM_TYPE (бит 30) — Тип выхода TAMPALRM: двухтактный или открытый сток.
- TAMPALRM_PU (бит 29) — Подтяжка выхода TAMPALRM.
- TAMPOE (бит 26) — Сигнал вмешательства на выход TAMPALRM.
- TAMPTS (бит 25) — Метка времени по событию вмешательства.
- ITSE (бит 24) — Метка времени по внутреннему событию (переход на VBAT).
- COE (бит 23) — Выход калибровки RTC_CALIB.
- OSEL (биты 22:21) — Сигнал на выходе RTC_ALARM.
- POL (бит 20) — Полярность выхода RTC_ALARM.
- COSEL (бит 19) — Частота выхода калибровки.
- BKP (бит 18) — Бит пользователя: отметка, что переход на летнее время уже сделан.
- SUB1H (бит 17) — Вычесть час — переход на зимнее время.
- ADD1H (бит 16) — Прибавить час — переход на летнее время.
- TSIE (бит 15) — Прерывание по метке времени.
- WUTIE (бит 14) — Прерывание таймера пробуждения.
- ALRBIE (бит 13) — Прерывание будильника B.
- ALRAIE (бит 12) — Прерывание будильника A.
- TSE (бит 11) — Метка времени по событию на входе TIMESTAMP.
- WUTE (бит 10) — Включение таймера пробуждения.
- ALRBE (бит 9) — Включение будильника B.
- ALRAE (бит 8) — Включение будильника A.
- FMT (бит 6) — Формат часов.
- BYPSHAD (бит 5) — Чтение календаря напрямую, минуя теневые регистры.
- REFCKON (бит 4) — Подстройка по опорной частоте сети 50 или 60 Гц.
- TSEDGE (бит 3) — Фронт события метки времени.
- WUCKSEL (биты 2:0) — Тактирование таймера пробуждения.
RTC_WPR — защита от записи
Смещение 0x24, адрес 0x4000 2824, 32 бит, после сброса 0x0000 0000. В коде: RTC->WPR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | KEY | ||||||||||||||
- KEY (биты 7:0) — Ключ защиты записи: 0xCA, затем 0x53.
RTC_CALR — точная калибровка хода
Смещение 0x28, адрес 0x4000 2828, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->CALR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| CALP | CALW8 | CALW16 | — | CALM | |||||||||||
- CALP (бит 15) — Ускорение календаря на 488,5 ppm.
- CALW8 (бит 14) — Период калибровки 8 секунд.
- CALW16 (бит 13) — Период калибровки 16 секунд.
- CALM (биты 8:0) — Точная калибровка: импульсы, пропускаемые за 32 секунды, шаг 0,95 ppm.
RTC_SHIFTR — сдвиг на доли секунды
Смещение 0x2C, адрес 0x4000 282C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->SHIFTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ADD1S | — | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SUBFS | ||||||||||||||
- ADD1S (бит 31) — Прибавить секунду.
- SUBFS (биты 14:0) — Отнять долю секунды: SUBFS / (PREDIV_S + 1).
RTC_TSTR — метка времени: время
Смещение 0x30, адрес 0x4000 2830, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->TSTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PM | HT | HU | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | MNT | MNU | — | ST | SU | ||||||||||
- PM (бит 22) — AM/PM: 0 — AM или 24-часовой формат, 1 — PM.
- HT (биты 21:20) — Десятки часов (BCD).
- HU (биты 19:16) — Единицы часов (BCD).
- MNT (биты 14:12) — Десятки минут (BCD).
- MNU (биты 11:8) — Единицы минут (BCD).
- ST (биты 6:4) — Десятки секунд (BCD).
- SU (биты 3:0) — Единицы секунд (BCD).
RTC_TSDR — метка времени: дата
Смещение 0x34, адрес 0x4000 2834, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->TSDR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| WDU | MT | MU | — | DT | DU | ||||||||||
- WDU (биты 15:13) — День недели: 1 — понедельник … 7 — воскресенье.
- MT (бит 12) — Десятки месяца (BCD).
- MU (биты 11:8) — Единицы месяца (BCD).
- DT (биты 5:4) — Десятки числа (BCD).
- DU (биты 3:0) — Единицы числа (BCD).
RTC_TSSSR — метка времени: доли секунды
Смещение 0x38, адрес 0x4000 2838, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->TSSSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SS | |||||||||||||||
- SS (биты 15:0) — Подсекунды метки времени.
RTC_ALRMAR — будильник A
Смещение 0x40, адрес 0x4000 2840, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMAR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MSK4 | WDSEL | DT | DU | MSK3 | PM | HT | HU | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MSK2 | MNT | MNU | MSK1 | ST | SU | ||||||||||
- MSK4 (бит 31) — Маска даты: 1 — число и день недели не сравниваются.
- WDSEL (бит 30) — В поле DU — число месяца или день недели.
- DT (биты 29:28) — Десятки числа (BCD).
- DU (биты 27:24) — Единицы числа или день недели при WDSEL = 1 (BCD).
- MSK3 (бит 23) — Маска часов.
- PM (бит 22) — AM/PM: 0 — AM или 24-часовой формат, 1 — PM.
- HT (биты 21:20) — Десятки часов (BCD).
- HU (биты 19:16) — Единицы часов (BCD).
- MSK2 (бит 15) — Маска минут.
- MNT (биты 14:12) — Десятки минут (BCD).
- MNU (биты 11:8) — Единицы минут (BCD).
- MSK1 (бит 7) — Маска секунд.
- ST (биты 6:4) — Десятки секунд (BCD).
- SU (биты 3:0) — Единицы секунд (BCD).
RTC_ALRMASSR — будильник A: доли секунды
Смещение 0x44, адрес 0x4000 2844, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMASSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | MASKSS | — | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SS | ||||||||||||||
- MASKSS (биты 27:24) — Сколько младших битов подсекунд сравнивать: 0 — не сравнивать.
- SS (биты 14:0) — Подсекунды для сравнения с будильником.
RTC_ALRMBR — будильник B
Смещение 0x48, адрес 0x4000 2848, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMBR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MSK4 | WDSEL | DT | DU | MSK3 | PM | HT | HU | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| MSK2 | MNT | MNU | MSK1 | ST | SU | ||||||||||
- MSK4 (бит 31) — Маска даты: 1 — число и день недели не сравниваются.
- WDSEL (бит 30) — В поле DU — число месяца или день недели.
- DT (биты 29:28) — Десятки числа (BCD).
- DU (биты 27:24) — Единицы числа или день недели при WDSEL = 1 (BCD).
- MSK3 (бит 23) — Маска часов.
- PM (бит 22) — AM/PM: 0 — AM или 24-часовой формат, 1 — PM.
- HT (биты 21:20) — Десятки часов (BCD).
- HU (биты 19:16) — Единицы часов (BCD).
- MSK2 (бит 15) — Маска минут.
- MNT (биты 14:12) — Десятки минут (BCD).
- MNU (биты 11:8) — Единицы минут (BCD).
- MSK1 (бит 7) — Маска секунд.
- ST (биты 6:4) — Десятки секунд (BCD).
- SU (биты 3:0) — Единицы секунд (BCD).
RTC_ALRMBSSR — будильник B: доли секунды
Смещение 0x4C, адрес 0x4000 284C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMBSSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | MASKSS | — | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SS | ||||||||||||||
- MASKSS (биты 27:24) — Сколько младших битов подсекунд сравнивать: 0 — не сравнивать.
- SS (биты 14:0) — Подсекунды для сравнения с будильником.
RTC_SR — флаги
Смещение 0x50, адрес 0x4000 2850, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->SR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ITSF | TSOVF | TSF | WUTF | ALRBF | ALRAF | |||||||||
- ITSF (бит 5) — Метка времени по внутреннему событию.
- TSOVF (бит 4) — Переполнение: новая метка при несброшенном TSF; сбрасывается записью 0.
- TSF (бит 3) — Метка времени сохранена; сбрасывается записью 0.
- WUTF (бит 2) — Сработал таймер пробуждения; сбрасывается записью 0.
- ALRBF (бит 1) — Сработал будильник B; сбрасывается записью 0.
- ALRAF (бит 0) — Сработал будильник A; сбрасывается записью 0.
RTC_MISR — флаги разрешённых прерываний
Смещение 0x54, адрес 0x4000 2854, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->MISR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ITSMF | TSOVMF | TSMF | WUTMF | ALRBMF | ALRAMF | |||||||||
- ITSMF (бит 5) — Прерывание: метка времени по внутреннему событию.
- TSOVMF (бит 4) — Прерывание: переполнение метки времени.
- TSMF (бит 3) — Прерывание: метка времени.
- WUTMF (бит 2) — Прерывание: таймер пробуждения.
- ALRBMF (бит 1) — Прерывание: будильник B.
- ALRAMF (бит 0) — Прерывание: будильник A.
RTC_SCR — сброс флагов
Смещение 0x5C, адрес 0x4000 285C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->SCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | CITSF | CTSOVF | CTSF | CWUTF | CALRBF | CALRAF | |||||||||
- CITSF (бит 5) — Сброс флага ITSF записью 1.
- CTSOVF (бит 4) — Сброс флага TSOVF записью 1.
- CTSF (бит 3) — Сброс флага TSF записью 1.
- CWUTF (бит 2) — Сброс флага WUTF записью 1.
- CALRBF (бит 1) — Сброс флага ALRBF записью 1.
- CALRAF (бит 0) — Сброс флага ALRAF записью 1.
TAMP_CR1 — включение входов вмешательства
Смещение 0x00, адрес 0x4000 2400, 32 бит, после сброса 0xFFFF 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->CR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ITAMP6E | ITAMP5E | ITAMP4E | ITAMP3E | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMP3E | TAMP2E | TAMP1E | ||||||||||||
- ITAMP6E (бит 21) — Внутренний вход вмешательства 6: доступ отладчика при защите чтения (считывание ST).
- ITAMP5E (бит 20) — Внутренний вход вмешательства 5: переполнение календаря RTC.
- ITAMP4E (бит 19) — Внутренний вход вмешательства 4: отказ HSE (система защиты тактирования).
- ITAMP3E (бит 18) — Внутренний вход вмешательства 3: отказ LSE (система защиты тактирования).
- TAMP3E (бит 2) — Вход вмешательства TAMP_IN3.
- TAMP2E (бит 1) — Вход вмешательства TAMP_IN2.
- TAMP1E (бит 0) — Вход вмешательства TAMP_IN1.
TAMP_CR2 — активный уровень и действие входов вмешательства
Смещение 0x04, адрес 0x4000 2404, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->CR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | TAMP3TRG | TAMP2TRG | TAMP1TRG | — | TAMP3MSK | TAMP2MSK | TAMP1MSK | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMP3NOERASE | TAMP2NOERASE | TAMP1NOERASE | ||||||||||||
- TAMP3TRG (бит 26) — Активный уровень или фронт TAMP_IN3.
- TAMP2TRG (бит 25) — Активный уровень или фронт TAMP_IN2.
- TAMP1TRG (бит 24) — Активный уровень или фронт TAMP_IN1.
- TAMP3MSK (бит 18) — Маскирование TAMP_IN3: событие только по уровню, без стирания.
- TAMP2MSK (бит 17) — Маскирование TAMP_IN2: событие только по уровню, без стирания.
- TAMP1MSK (бит 16) — Маскирование TAMP_IN1: событие только по уровню, без стирания.
- TAMP3NOERASE (бит 2) — Не стирать резервные регистры при срабатывании TAMP_IN3.
- TAMP2NOERASE (бит 1) — Не стирать резервные регистры при срабатывании TAMP_IN2.
- TAMP1NOERASE (бит 0) — Не стирать резервные регистры при срабатывании TAMP_IN1.
TAMP_FLTCR — фильтр и предзаряд входов вмешательства
Смещение 0x0C, адрес 0x4000 240C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->FLTCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMPPUDIS | TAMPPRCH | TAMPFLT | TAMPFREQ | |||||||||||
- TAMPPUDIS (бит 7) — Отключение предзаряда входов вмешательства перед выборкой.
- TAMPPRCH (биты 6:5) — Длительность предзаряда: 1, 2, 4 или 8 тактов RTCCLK.
- TAMPFLT (биты 4:3) — Фильтр: срабатывание по фронту или после 2, 4, 8 одинаковых отсчётов.
- TAMPFREQ (биты 2:0) — Частота выборки входов: RTCCLK / 32768 … / 256.
TAMP_IER — разрешение прерываний
Смещение 0x2C, адрес 0x4000 242C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->IER.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ITAMP6IE | ITAMP5IE | ITAMP4IE | ITAMP3IE | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMP3IE | TAMP2IE | TAMP1IE | ||||||||||||
- ITAMP6IE (бит 21) — Прерывание от внутреннего входа 6.
- ITAMP5IE (бит 20) — Прерывание от внутреннего входа 5.
- ITAMP4IE (бит 19) — Прерывание от внутреннего входа 4.
- ITAMP3IE (бит 18) — Прерывание от внутреннего входа 3.
- TAMP3IE (бит 2) — Прерывание от TAMP_IN3.
- TAMP2IE (бит 1) — Прерывание от TAMP_IN2.
- TAMP1IE (бит 0) — Прерывание от TAMP_IN1.
TAMP_SR — флаги вмешательства
Смещение 0x30, адрес 0x4000 2430, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->SR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ITAMP6F | ITAMP5F | ITAMP4F | ITAMP3F | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMP3F | TAMP2F | TAMP1F | ||||||||||||
- ITAMP6F (бит 21) — Сработал внутренний вход 6: доступ отладчика при защите чтения (считывание ST).
- ITAMP5F (бит 20) — Сработал внутренний вход 5: переполнение календаря RTC.
- ITAMP4F (бит 19) — Сработал внутренний вход 4: отказ HSE (система защиты тактирования).
- ITAMP3F (бит 18) — Сработал внутренний вход 3: отказ LSE (система защиты тактирования).
- TAMP3F (бит 2) — Сработал вход TAMP_IN3.
- TAMP2F (бит 1) — Сработал вход TAMP_IN2.
- TAMP1F (бит 0) — Сработал вход TAMP_IN1.
TAMP_MISR — флаги разрешённых прерываний
Смещение 0x34, адрес 0x4000 2434, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->MISR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | ITAMP6MF | ITAMP5MF | ITAMP4MF | ITAMP3MF | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | TAMP3MF | TAMP2MF | TAMP1MF | ||||||||||||
- ITAMP6MF (бит 21) — Сработал внутренний вход 6: доступ отладчика при защите чтения (считывание ST).
- ITAMP5MF (бит 20) — Сработал внутренний вход 5: переполнение календаря RTC.
- ITAMP4MF (бит 19) — Сработал внутренний вход 4: отказ HSE (система защиты тактирования).
- ITAMP3MF (бит 18) — Сработал внутренний вход 3: отказ LSE (система защиты тактирования).
- TAMP3MF (бит 2) — Сработал вход TAMP_IN3.
- TAMP2MF (бит 1) — Сработал вход TAMP_IN2.
- TAMP1MF (бит 0) — Сработал вход TAMP_IN1.
TAMP_SCR — сброс флагов
Смещение 0x3C, адрес 0x4000 243C, 32 бит, после сброса 0x0000 0000 (при системном сбросе). В коде: TAMP->SCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | CITAMP6F | CITAMP5F | CITAMP4F | CITAMP3F | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | CTAMP3F | CTAMP2F | CTAMP1F | ||||||||||||
- CITAMP6F (бит 21) — Сброс флага ITAMP6F записью 1.
- CITAMP5F (бит 20) — Сброс флага ITAMP5F записью 1.
- CITAMP4F (бит 19) — Сброс флага ITAMP4F записью 1.
- CITAMP3F (бит 18) — Сброс флага ITAMP3F записью 1.
- CTAMP3F (бит 2) — Сброс флага TAMP3F записью 1.
- CTAMP2F (бит 1) — Сброс флага TAMP2F записью 1.
- CTAMP1F (бит 0) — Сброс флага TAMP1F записью 1.
TAMP_BKP0R — резервный регистр данных 0
Смещение 0x100, адрес 0x4000 2500, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP0R.
Регистр данных: значение занимает его целиком.
TAMP_BKP1R — резервный регистр данных 1
Смещение 0x104, адрес 0x4000 2504, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP1R.
Регистр данных: значение занимает его целиком.
TAMP_BKP2R — резервный регистр данных 2
Смещение 0x108, адрес 0x4000 2508, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP2R.
Регистр данных: значение занимает его целиком.
TAMP_BKP3R — резервный регистр данных 3
Смещение 0x10C, адрес 0x4000 250C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP3R.
Регистр данных: значение занимает его целиком.
TAMP_BKP4R — резервный регистр данных 4
Смещение 0x110, адрес 0x4000 2510, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP4R.
Регистр данных: значение занимает его целиком.
TAMP_BKP5R — резервный регистр данных 5
Смещение 0x114, адрес 0x4000 2514, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP5R.
Регистр данных: значение занимает его целиком.
TAMP_BKP6R — резервный регистр данных 6
Смещение 0x118, адрес 0x4000 2518, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP6R.
Регистр данных: значение занимает его целиком.
TAMP_BKP7R — резервный регистр данных 7
Смещение 0x11C, адрес 0x4000 251C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP7R.
Регистр данных: значение занимает его целиком.
TAMP_BKP8R — резервный регистр данных 8
Смещение 0x120, адрес 0x4000 2520, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP8R.
Регистр данных: значение занимает его целиком.
TAMP_BKP9R — резервный регистр данных 9
Смещение 0x124, адрес 0x4000 2524, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP9R.
Регистр данных: значение занимает его целиком.
TAMP_BKP10R — резервный регистр данных 10
Смещение 0x128, адрес 0x4000 2528, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP10R.
Регистр данных: значение занимает его целиком.
TAMP_BKP11R — резервный регистр данных 11
Смещение 0x12C, адрес 0x4000 252C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP11R.
Регистр данных: значение занимает его целиком.
TAMP_BKP12R — резервный регистр данных 12
Смещение 0x130, адрес 0x4000 2530, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP12R.
Регистр данных: значение занимает его целиком.
TAMP_BKP13R — резервный регистр данных 13
Смещение 0x134, адрес 0x4000 2534, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP13R.
Регистр данных: значение занимает его целиком.
TAMP_BKP14R — резервный регистр данных 14
Смещение 0x138, адрес 0x4000 2538, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP14R.
Регистр данных: значение занимает его целиком.
TAMP_BKP15R — резервный регистр данных 15
Смещение 0x13C, адрес 0x4000 253C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: TAMP->BKP15R.
Регистр данных: значение занимает его целиком.
TAMP_BKP16R — резервный регистр данных 16
Смещение 0x140, адрес 0x4000 2540, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP16R.
Регистр данных: значение занимает его целиком.
TAMP_BKP17R — резервный регистр данных 17
Смещение 0x144, адрес 0x4000 2544, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP17R.
Регистр данных: значение занимает его целиком.
TAMP_BKP18R — резервный регистр данных 18
Смещение 0x148, адрес 0x4000 2548, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP18R.
Регистр данных: значение занимает его целиком.
TAMP_BKP19R — резервный регистр данных 19
Смещение 0x14C, адрес 0x4000 254C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP19R.
Регистр данных: значение занимает его целиком.
TAMP_BKP20R — резервный регистр данных 20
Смещение 0x150, адрес 0x4000 2550, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP20R.
Регистр данных: значение занимает его целиком.
TAMP_BKP21R — резервный регистр данных 21
Смещение 0x154, адрес 0x4000 2554, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP21R.
Регистр данных: значение занимает его целиком.
TAMP_BKP22R — резервный регистр данных 22
Смещение 0x158, адрес 0x4000 2558, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP22R.
Регистр данных: значение занимает его целиком.
TAMP_BKP23R — резервный регистр данных 23
Смещение 0x15C, адрес 0x4000 255C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP23R.
Регистр данных: значение занимает его целиком.
TAMP_BKP24R — резервный регистр данных 24
Смещение 0x160, адрес 0x4000 2560, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP24R.
Регистр данных: значение занимает его целиком.
TAMP_BKP25R — резервный регистр данных 25
Смещение 0x164, адрес 0x4000 2564, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP25R.
Регистр данных: значение занимает его целиком.
TAMP_BKP26R — резервный регистр данных 26
Смещение 0x168, адрес 0x4000 2568, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP26R.
Регистр данных: значение занимает его целиком.
TAMP_BKP27R — резервный регистр данных 27
Смещение 0x16C, адрес 0x4000 256C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP27R.
Регистр данных: значение занимает его целиком.
TAMP_BKP28R — резервный регистр данных 28
Смещение 0x170, адрес 0x4000 2570, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP28R.
Регистр данных: значение занимает его целиком.
TAMP_BKP29R — резервный регистр данных 29
Смещение 0x174, адрес 0x4000 2574, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP29R.
Регистр данных: значение занимает его целиком.
TAMP_BKP30R — резервный регистр данных 30
Смещение 0x178, адрес 0x4000 2578, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP30R.
Регистр данных: значение занимает его целиком.
TAMP_BKP31R — резервный регистр данных 31
Смещение 0x17C, адрес 0x4000 257C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет); регистр есть только у STM32G471, STM32G473, STM32G474, STM32G483, STM32G484, STM32G491, STM32G4A1. В коде: TAMP->BKP31R.
Регистр данных: значение занимает его целиком.
Частые вопросы
Почему RTC STM32G4 не отвечает на запись?
Нужны три условия: бит RTCAPBEN в RCC_APB1ENR1 (такт интерфейса), DBP в PWR_CR1 (доступ к домену) и ключи 0xCA, 0x53 в RTC_WPR. Для установки времени — ещё INIT в RTC_ICSR и ожидание INITF.
Где у STM32G4 резервные регистры?
В блоке TAMP: TAMP->BKP0R…BKP31R, 32 слова. Они сохраняются при системном сбросе и питании от VBAT и стираются сбросом домена или срабатыванием входа вмешательства.
Источники
- STMicroelectronics. RM0440: Reference manual (Rev 9) — раздел 37.6, 38.6: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-g4 v1.2.6: заголовки CMSIS stm32g431xx.h, stm32g441xx.h, stm32g471xx.h, stm32g473xx.h, stm32g474xx.h, stm32g483xx.h, stm32g484xx.h, stm32g491xx.h, stm32g4a1xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32G4
- Все регистры STM32G4Блоки периферии и заголовки CMSIS
- RCC — тактирование и сбросRCC_CR, RCC_ICSCR, RCC_CFGR, RCC_PLLCFGR, RCC_CIER, RCC_CIFR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- SYSCFG — системная конфигурацияSYSCFG_MEMRMP, SYSCFG_CFGR1, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4
- EXTI — внешние прерыванияEXTI_IMR1, EXTI_EMR1, EXTI_RTSR1, EXTI_FTSR1, EXTI_SWIER1, EXTI_PR1
- USART — последовательные порты USART и LPUARTUSART_CR1, USART_CR2, USART_CR3, USART_BRR, USART_GTPR, USART_RTOR
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_TIMINGR, I2C_TIMEOUTR
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- LPTIM — маломощный таймерLPTIM_ISR, LPTIM_ICR, LPTIM_IER, LPTIM_CFGR, LPTIM_CR, LPTIM_CMP
- DMA — прямой доступ к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- АЦП — аналого-цифровые преобразователиADC_ISR, ADC_IER, ADC_CR, ADC_CFGR, ADC_CFGR2, ADC_SMPR1
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR, IWDG_WINR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — вычислитель CRCCRC_DR, CRC_IDR, CRC_CR, CRC_INIT, CRC_POL
- DBGMCU — отладкаDBGMCU_IDCODE, DBGMCU_CR, DBGMCU_APB1FZR1, DBGMCU_APB1FZR2, DBGMCU_APB2FZR
- PWR — управление питаниемPWR_CR1, PWR_CR2, PWR_CR3, PWR_CR4, PWR_SR1, PWR_SR2
- FLASH — флеш-памятьFLASH_ACR, FLASH_PDKEYR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR
- ЦАП — цифро-аналоговые преобразователиDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2
- CORDIC — сопроцессор тригонометрии CORDICCORDIC_CSR, CORDIC_WDATA, CORDIC_RDATA
- FMAC — фильтровый ускоритель FMACFMAC_X1BUFCFG, FMAC_X2BUFCFG, FMAC_YBUFCFG, FMAC_PARAM, FMAC_CR, FMAC_SR