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

Регистры RTC STM32F7

Регистры RTC STM32F74x/F75x: время и дата в BCD, будильники A и B, таймер пробуждения, подсекунды и сдвиг, калибровка, метка времени, входы тампера и резервные регистры.

RTC STM32F7 тактируется от LSE, LSI или HSE через делитель RTCPRE и выбирается в RCC_BDCR. Запись в регистры открывают бит DBP регистра PWR_CR1 и ключи 0xCA и 0x53 в RTC_WPR; для изменения времени войдите в режим инициализации битом INIT (RM0385, раздел 29.6).

Тридцать два резервных регистра RTC_BKP0R–BKP31R сохраняются при питании от VBAT и стираются событием тампера.

ЭкземплярБазовый адресЕсть у
RTC0x4000 2800всех

Регистры блока

РегистрСмещениеНазначениеПосле сброса
RTC_TR0x00Время0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1)
RTC_DR0x04Дата0x0000 2101 (при сбросе резервного домена; системный сброс даёт 0x0000 2101 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1)
RTC_CR0x08Будильники, таймер пробуждения, метка времени, выходы0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_ISR0x0CИнициализация, состояние и флаги0x0000 0007 (при сбросе резервного домена; системный сброс обнуляет только INIT, INITF и RSF)
RTC_PRER0x10Предделители0x007F 00FF (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_WUTR0x14Период таймера пробуждения0x0000 FFFF (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_ALRMAR0x1CБудильник A0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_ALRMBR0x20Будильник B0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_WPR0x24Защита от записи0x0000 0000
RTC_SSR0x28Доли секунды0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1)
RTC_SHIFTR0x2CСдвиг на доли секунды0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_TSTR0x30Метка времени: время0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_TSDR0x34Метка времени: дата0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_TSSSR0x38Метка времени: доли секунды0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_CALR0x3CТочная калибровка хода0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_TAMPCR0x40Входы вмешательства и метка времени по ним0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_ALRMASSR0x44Будильник A: доли секунды0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_ALRMBSSR0x48Будильник B: доли секунды0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_OR0x4CВыход будильника и источник метки времени0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP0R0x50Резервный регистр данных 00x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP1R0x54Резервный регистр данных 10x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP2R0x58Резервный регистр данных 20x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP3R0x5CРезервный регистр данных 30x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP4R0x60Резервный регистр данных 40x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP5R0x64Резервный регистр данных 50x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP6R0x68Резервный регистр данных 60x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP7R0x6CРезервный регистр данных 70x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP8R0x70Резервный регистр данных 80x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP9R0x74Резервный регистр данных 90x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP10R0x78Резервный регистр данных 100x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP11R0x7CРезервный регистр данных 110x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP12R0x80Резервный регистр данных 120x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP13R0x84Резервный регистр данных 130x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP14R0x88Резервный регистр данных 140x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP15R0x8CРезервный регистр данных 150x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP16R0x90Резервный регистр данных 160x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP17R0x94Резервный регистр данных 170x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP18R0x98Резервный регистр данных 180x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP19R0x9CРезервный регистр данных 190x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP20R0xA0Резервный регистр данных 200x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP21R0xA4Резервный регистр данных 210x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP22R0xA8Резервный регистр данных 220x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP23R0xACРезервный регистр данных 230x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP24R0xB0Резервный регистр данных 240x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP25R0xB4Резервный регистр данных 250x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP26R0xB8Резервный регистр данных 260x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP27R0xBCРезервный регистр данных 270x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP28R0xC0Резервный регистр данных 280x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP29R0xC4Резервный регистр данных 290x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP30R0xC8Резервный регистр данных 300x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет)
RTC_BKP31R0xCCРезервный регистр данных 310x0000 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.

31302928272625242322212019181716
—PMHTHU
1514131211109876543210
—MNTMNU—STSU
  • 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.

31302928272625242322212019181716
—YTYU
1514131211109876543210
WDUMTMU—DTDU
  • 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_CR — будильники, таймер пробуждения, метка времени, выходы

Смещение 0x08, адрес 0x4000 2808, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->CR.

31302928272625242322212019181716
—ITSECOEOSELPOLCOSELBKPSUB1HADD1H
1514131211109876543210
TSIEWUTIEALRBIEALRAIETSEWUTEALRBEALRAE—FMTBYPSHADREFCKONTSEDGEWUCKSEL
  • 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_ISR — инициализация, состояние и флаги

Смещение 0x0C, адрес 0x4000 280C, 32 бит, после сброса 0x0000 0007 (при сбросе резервного домена; системный сброс обнуляет только INIT, INITF и RSF). В коде: RTC->ISR.

31302928272625242322212019181716
—ITSFRECALPF
1514131211109876543210
TAMP3FTAMP2FTAMP1FTSOVFTSFWUTFALRBFALRAFINITINITFRSFINITSSHPFWUTWFALRBWFALRAWF
  • ITSF (бит 17) — Метка времени по внутреннему событию.
  • RECALPF (бит 16) — Новая калибровка CALR ещё не применена.
  • TAMP3F (бит 15) — Сработал вход TAMPER3; сбрасывается записью 0.
  • TAMP2F (бит 14) — Сработал вход TAMPER2; сбрасывается записью 0.
  • TAMP1F (бит 13) — Сработал вход TAMPER1; сбрасывается записью 0.
  • TSOVF (бит 12) — Переполнение: новая метка при несброшенном TSF; сбрасывается записью 0.
  • TSF (бит 11) — Метка времени сохранена; сбрасывается записью 0.
  • WUTF (бит 10) — Сработал таймер пробуждения; сбрасывается записью 0.
  • ALRBF (бит 9) — Сработал будильник B; сбрасывается записью 0.
  • ALRAF (бит 8) — Сработал будильник A; сбрасывается записью 0.
  • 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.

31302928272625242322212019181716
—PREDIV_A
1514131211109876543210
—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.

31302928272625242322212019181716
—
1514131211109876543210
WUT
  • WUT (биты 15:0) — Период таймера пробуждения: WUT + 1 тактов выбранной частоты.

RTC_ALRMAR — будильник A

Смещение 0x1C, адрес 0x4000 281C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMAR.

31302928272625242322212019181716
MSK4WDSELDTDUMSK3PMHTHU
1514131211109876543210
MSK2MNTMNUMSK1STSU
  • 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_ALRMBR — будильник B

Смещение 0x20, адрес 0x4000 2820, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMBR.

31302928272625242322212019181716
MSK4WDSELDTDUMSK3PMHTHU
1514131211109876543210
MSK2MNTMNUMSK1STSU
  • 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_WPR — защита от записи

Смещение 0x24, адрес 0x4000 2824, 32 бит, после сброса 0x0000 0000. В коде: RTC->WPR.

31302928272625242322212019181716
—
1514131211109876543210
—KEY
  • KEY (биты 7:0) — Ключ защиты записи: 0xCA, затем 0x53.

RTC_SSR — доли секунды

Смещение 0x28, адрес 0x4000 2828, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс даёт 0x0000 0000 при BYPSHAD = 0 и не меняет регистр при BYPSHAD = 1). В коде: RTC->SSR.

31302928272625242322212019181716
—
1514131211109876543210
SS
  • SS (биты 15:0) — Подсекунды: текущее значение синхронного делителя.

RTC_SHIFTR — сдвиг на доли секунды

Смещение 0x2C, адрес 0x4000 282C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->SHIFTR.

31302928272625242322212019181716
ADD1S—
1514131211109876543210
—SUBFS
  • ADD1S (бит 31) — Прибавить секунду.
  • SUBFS (биты 14:0) — Отнять долю секунды: SUBFS / (PREDIV_S + 1).

RTC_TSTR — метка времени: время

Смещение 0x30, адрес 0x4000 2830, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->TSTR.

31302928272625242322212019181716
—PMHTHU
1514131211109876543210
—MNTMNU—STSU
  • 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.

31302928272625242322212019181716
—
1514131211109876543210
WDUMTMU—DTDU
  • 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.

31302928272625242322212019181716
—
1514131211109876543210
SS
  • SS (биты 15:0) — Подсекунды метки времени.

RTC_CALR — точная калибровка хода

Смещение 0x3C, адрес 0x4000 283C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->CALR.

31302928272625242322212019181716
—
1514131211109876543210
CALPCALW8CALW16—CALM
  • CALP (бит 15) — Ускорение календаря на 488,5 ppm.
  • CALW8 (бит 14) — Период калибровки 8 секунд.
  • CALW16 (бит 13) — Период калибровки 16 секунд.
  • CALM (биты 8:0) — Точная калибровка: импульсы, пропускаемые за 32 секунды, шаг 0,95 ppm.

RTC_TAMPCR — входы вмешательства и метка времени по ним

Смещение 0x40, адрес 0x4000 2840, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->TAMPCR.

31302928272625242322212019181716
—TAMP3MFTAMP3NOERASETAMP3IETAMP2MFTAMP2NOERASETAMP2IETAMP1MFTAMP1NOERASETAMP1IE
1514131211109876543210
TAMPPUDISTAMPPRCHTAMPFLTTAMPFREQTAMPTSTAMP3TRGTAMP3ETAMP2TRGTAMP2ETAMPIETAMP1TRGTAMP1E
  • TAMP3MF (бит 24) — Маскирование TAMP3: событие только по уровню, флаг сбрасывается вместе с уровнем.
  • TAMP3NOERASE (бит 23) — Не стирать резервные регистры при срабатывании TAMP3.
  • TAMP3IE (бит 22) — Прерывание от входа TAMP3.
  • TAMP2MF (бит 21) — Маскирование TAMP2: событие только по уровню, флаг сбрасывается вместе с уровнем.
  • TAMP2NOERASE (бит 20) — Не стирать резервные регистры при срабатывании TAMP2.
  • TAMP2IE (бит 19) — Прерывание от входа TAMP2.
  • TAMP1MF (бит 18) — Маскирование TAMP1: событие только по уровню, флаг сбрасывается вместе с уровнем.
  • TAMP1NOERASE (бит 17) — Не стирать резервные регистры при срабатывании TAMP1.
  • TAMP1IE (бит 16) — Прерывание от входа TAMP1.
  • TAMPPUDIS (бит 15) — Отключение подтяжки входов TAMPER перед выборкой.
  • TAMPPRCH (биты 14:13) — Длительность подтяжки перед выборкой.
  • TAMPFLT (биты 12:11) — Фильтр TAMPER: число одинаковых выборок.
  • TAMPFREQ (биты 10:8) — Частота опроса входов TAMPER.
  • TAMPTS (бит 7) — Метка времени по событию TAMPER.
  • TAMP3TRG (бит 6) — Активный уровень или фронт входа TAMPER3.
  • TAMP3E (бит 5) — Включение входа TAMPER3.
  • TAMP2TRG (бит 4) — Активный уровень или фронт входа TAMPER2.
  • TAMP2E (бит 3) — Включение входа TAMPER2.
  • TAMPIE (бит 2) — Прерывание по событию TAMPER.
  • TAMP1TRG (бит 1) — Активный уровень или фронт входа TAMPER1.
  • TAMP1E (бит 0) — Включение входа TAMPER1.

RTC_ALRMASSR — будильник A: доли секунды

Смещение 0x44, адрес 0x4000 2844, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMASSR.

31302928272625242322212019181716
—MASKSS—
1514131211109876543210
—SS
  • MASKSS (биты 27:24) — Сколько младших битов подсекунд сравнивать: 0 — не сравнивать.
  • SS (биты 14:0) — Подсекунды для сравнения с будильником.

RTC_ALRMBSSR — будильник B: доли секунды

Смещение 0x48, адрес 0x4000 2848, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->ALRMBSSR.

31302928272625242322212019181716
—MASKSS—
1514131211109876543210
—SS
  • MASKSS (биты 27:24) — Сколько младших битов подсекунд сравнивать: 0 — не сравнивать.
  • SS (биты 14:0) — Подсекунды для сравнения с будильником.

RTC_OR — выход будильника и источник метки времени

Смещение 0x4C, адрес 0x4000 284C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->OR.

31302928272625242322212019181716
—
1514131211109876543210
—ALARMOUTTYPETSINSEL—
  • ALARMOUTTYPE (бит 3) — Тип выхода RTC_ALARM: открытый сток или двухтактный.
  • TSINSEL (биты 2:1) — Вывод входа TIMESTAMP.

RTC_BKP0R — резервный регистр данных 0

Смещение 0x50, адрес 0x4000 2850, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP0R.

Регистр данных: значение занимает его целиком.

RTC_BKP1R — резервный регистр данных 1

Смещение 0x54, адрес 0x4000 2854, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP1R.

Регистр данных: значение занимает его целиком.

RTC_BKP2R — резервный регистр данных 2

Смещение 0x58, адрес 0x4000 2858, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP2R.

Регистр данных: значение занимает его целиком.

RTC_BKP3R — резервный регистр данных 3

Смещение 0x5C, адрес 0x4000 285C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP3R.

Регистр данных: значение занимает его целиком.

RTC_BKP4R — резервный регистр данных 4

Смещение 0x60, адрес 0x4000 2860, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP4R.

Регистр данных: значение занимает его целиком.

RTC_BKP5R — резервный регистр данных 5

Смещение 0x64, адрес 0x4000 2864, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP5R.

Регистр данных: значение занимает его целиком.

RTC_BKP6R — резервный регистр данных 6

Смещение 0x68, адрес 0x4000 2868, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP6R.

Регистр данных: значение занимает его целиком.

RTC_BKP7R — резервный регистр данных 7

Смещение 0x6C, адрес 0x4000 286C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP7R.

Регистр данных: значение занимает его целиком.

RTC_BKP8R — резервный регистр данных 8

Смещение 0x70, адрес 0x4000 2870, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP8R.

Регистр данных: значение занимает его целиком.

RTC_BKP9R — резервный регистр данных 9

Смещение 0x74, адрес 0x4000 2874, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP9R.

Регистр данных: значение занимает его целиком.

RTC_BKP10R — резервный регистр данных 10

Смещение 0x78, адрес 0x4000 2878, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP10R.

Регистр данных: значение занимает его целиком.

RTC_BKP11R — резервный регистр данных 11

Смещение 0x7C, адрес 0x4000 287C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP11R.

Регистр данных: значение занимает его целиком.

RTC_BKP12R — резервный регистр данных 12

Смещение 0x80, адрес 0x4000 2880, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP12R.

Регистр данных: значение занимает его целиком.

RTC_BKP13R — резервный регистр данных 13

Смещение 0x84, адрес 0x4000 2884, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP13R.

Регистр данных: значение занимает его целиком.

RTC_BKP14R — резервный регистр данных 14

Смещение 0x88, адрес 0x4000 2888, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP14R.

Регистр данных: значение занимает его целиком.

RTC_BKP15R — резервный регистр данных 15

Смещение 0x8C, адрес 0x4000 288C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP15R.

Регистр данных: значение занимает его целиком.

RTC_BKP16R — резервный регистр данных 16

Смещение 0x90, адрес 0x4000 2890, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP16R.

Регистр данных: значение занимает его целиком.

RTC_BKP17R — резервный регистр данных 17

Смещение 0x94, адрес 0x4000 2894, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP17R.

Регистр данных: значение занимает его целиком.

RTC_BKP18R — резервный регистр данных 18

Смещение 0x98, адрес 0x4000 2898, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP18R.

Регистр данных: значение занимает его целиком.

RTC_BKP19R — резервный регистр данных 19

Смещение 0x9C, адрес 0x4000 289C, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP19R.

Регистр данных: значение занимает его целиком.

RTC_BKP20R — резервный регистр данных 20

Смещение 0xA0, адрес 0x4000 28A0, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP20R.

Регистр данных: значение занимает его целиком.

RTC_BKP21R — резервный регистр данных 21

Смещение 0xA4, адрес 0x4000 28A4, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP21R.

Регистр данных: значение занимает его целиком.

RTC_BKP22R — резервный регистр данных 22

Смещение 0xA8, адрес 0x4000 28A8, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP22R.

Регистр данных: значение занимает его целиком.

RTC_BKP23R — резервный регистр данных 23

Смещение 0xAC, адрес 0x4000 28AC, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP23R.

Регистр данных: значение занимает его целиком.

RTC_BKP24R — резервный регистр данных 24

Смещение 0xB0, адрес 0x4000 28B0, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP24R.

Регистр данных: значение занимает его целиком.

RTC_BKP25R — резервный регистр данных 25

Смещение 0xB4, адрес 0x4000 28B4, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP25R.

Регистр данных: значение занимает его целиком.

RTC_BKP26R — резервный регистр данных 26

Смещение 0xB8, адрес 0x4000 28B8, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP26R.

Регистр данных: значение занимает его целиком.

RTC_BKP27R — резервный регистр данных 27

Смещение 0xBC, адрес 0x4000 28BC, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP27R.

Регистр данных: значение занимает его целиком.

RTC_BKP28R — резервный регистр данных 28

Смещение 0xC0, адрес 0x4000 28C0, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP28R.

Регистр данных: значение занимает его целиком.

RTC_BKP29R — резервный регистр данных 29

Смещение 0xC4, адрес 0x4000 28C4, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP29R.

Регистр данных: значение занимает его целиком.

RTC_BKP30R — резервный регистр данных 30

Смещение 0xC8, адрес 0x4000 28C8, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP30R.

Регистр данных: значение занимает его целиком.

RTC_BKP31R — резервный регистр данных 31

Смещение 0xCC, адрес 0x4000 28CC, 32 бит, после сброса 0x0000 0000 (при сбросе резервного домена; системный сброс регистр не меняет). В коде: RTC->BKP31R.

Регистр данных: значение занимает его целиком.

Частые вопросы

Почему RTC STM32F7 сбрасывается после перепрошивки?

Скорее всего, программа при старте вызывает сброс резервного домена (BDRST) или заново выбирает источник RTC. Проверяйте флаг INITS или резервный регистр с меткой и настраивайте RTC только при первом запуске.

Источники

  1. STMicroelectronics. RM0385: Reference manual (Rev 9) — раздел 29.6: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-f7 v1.2.10: заголовки CMSIS stm32f745xx.h, stm32f746xx.h, stm32f750xx.h, stm32f756xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

Нашли ошибку в регистрах?

Другие регистры STM32F7

Калькуляторы и статьи