Регистры RTC STM32F1
Регистры RTC STM32F1 — 32-битный счётчик, предделитель, делитель, будильник, флаги и режим настройки — и регистры BKP резервного домена: регистры данных DR1–DR42, калибровка часов, вывод TAMPER.
Содержание
- Регистры блока
- Конструктор
- RTC_CRH
- RTC_CRL
- RTC_PRLH
- RTC_PRLL
- RTC_DIVH
- RTC_DIVL
- RTC_CNTH
- RTC_CNTL
- RTC_ALRH
- RTC_ALRL
- BKP_DR1
- BKP_DR2
- BKP_DR3
- BKP_DR4
- BKP_DR5
- BKP_DR6
- BKP_DR7
- BKP_DR8
- BKP_DR9
- BKP_DR10
- BKP_RTCCR
- BKP_CR
- BKP_CSR
- BKP_DR11
- BKP_DR12
- BKP_DR13
- BKP_DR14
- BKP_DR15
- BKP_DR16
- BKP_DR17
- BKP_DR18
- BKP_DR19
- BKP_DR20
- BKP_DR21
- BKP_DR22
- BKP_DR23
- BKP_DR24
- BKP_DR25
- BKP_DR26
- BKP_DR27
- BKP_DR28
- BKP_DR29
- BKP_DR30
- BKP_DR31
- BKP_DR32
- BKP_DR33
- BKP_DR34
- BKP_DR35
- BKP_DR36
- BKP_DR37
- BKP_DR38
- BKP_DR39
- BKP_DR40
- BKP_DR41
- BKP_DR42
RTC у STM32F1 — не календарь, а 32-битный счётчик CNT, который увеличивается раз в период TR_CLK = RTCCLK / (PRL + 1). С часовым кварцем LSE 32 768 Гц и PRL = 0x7FFF счётчик считает секунды; дату и время программа вычисляет сама. Будильник срабатывает, когда CNT совпадает с ALR. Источник тактирования RTC выбирается полем RTCSEL регистра RCC_BDCR (RM0008, разделы 18.4 и 6.4).
Регистры RTC и BKP лежат в резервном домене: чтобы писать в них, включите тактирование PWR и BKP и установите DBP в PWR_CR. Запись в CNT, ALR и PRL идёт через режим настройки: дождаться RTOFF = 1, установить CNF, записать регистры, сбросить CNF и снова дождаться RTOFF = 1. После сброса или остановки шины APB1 перед чтением сбросьте флаг RSF и дождитесь его установки.
Регистры BKP_DR1–DR10 (у high-density, XL-density и connectivity line — до DR42) по 16 бит хранят данные, пока есть питание VDD или VBAT. Событие на выводе TAMPER (PC13) при TPE = 1 стирает их все. Поле CAL регистра BKP_RTCCR замедляет часы на 0–121 ppm: оно задаёт число импульсов, пропускаемых на каждые 2^20.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| RTC | 0x4000 2800 | всех |
| BKP | 0x4000 6C00 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| RTC_CRH | 0x00 | Разрешение прерываний RTC | 0x0000 |
| RTC_CRL | 0x04 | Флаги и режим настройки | 0x0020 |
| RTC_PRLH | 0x08 | Предделитель, старшие 4 бита | 0x0000 |
| RTC_PRLL | 0x0C | Предделитель, младшие 16 бит | 0x8000 |
| RTC_DIVH | 0x10 | Делитель, старшие 4 бита (только чтение) | 0x0000 |
| RTC_DIVL | 0x14 | Делитель, младшие 16 бит (только чтение) | 0x8000 |
| RTC_CNTH | 0x18 | Счётчик, старшие 16 бит | 0x0000 |
| RTC_CNTL | 0x1C | Счётчик, младшие 16 бит | 0x0000 |
| RTC_ALRH | 0x20 | Будильник, старшие 16 бит | 0xFFFF |
| RTC_ALRL | 0x24 | Будильник, младшие 16 бит | 0xFFFF |
| BKP_DR1 | 0x04 | Резервный регистр данных 1 | 0x0000 0000 |
| BKP_DR2 | 0x08 | Резервный регистр данных 2 | 0x0000 0000 |
| BKP_DR3 | 0x0C | Резервный регистр данных 3 | 0x0000 0000 |
| BKP_DR4 | 0x10 | Резервный регистр данных 4 | 0x0000 0000 |
| BKP_DR5 | 0x14 | Резервный регистр данных 5 | 0x0000 0000 |
| BKP_DR6 | 0x18 | Резервный регистр данных 6 | 0x0000 0000 |
| BKP_DR7 | 0x1C | Резервный регистр данных 7 | 0x0000 0000 |
| BKP_DR8 | 0x20 | Резервный регистр данных 8 | 0x0000 0000 |
| BKP_DR9 | 0x24 | Резервный регистр данных 9 | 0x0000 0000 |
| BKP_DR10 | 0x28 | Резервный регистр данных 10 | 0x0000 0000 |
| BKP_RTCCR | 0x2C | Калибровка часов и выход на вывод TAMPER | 0x0000 0000 |
| BKP_CR | 0x30 | Вывод защиты TAMPER | 0x0000 0000 |
| BKP_CSR | 0x34 | Флаги и прерывание TAMPER | 0x0000 0000 |
| BKP_DR11 | 0x40 | Резервный регистр данных 11 | 0x0000 0000 |
| BKP_DR12 | 0x44 | Резервный регистр данных 12 | 0x0000 0000 |
| BKP_DR13 | 0x48 | Резервный регистр данных 13 | 0x0000 0000 |
| BKP_DR14 | 0x4C | Резервный регистр данных 14 | 0x0000 0000 |
| BKP_DR15 | 0x50 | Резервный регистр данных 15 | 0x0000 0000 |
| BKP_DR16 | 0x54 | Резервный регистр данных 16 | 0x0000 0000 |
| BKP_DR17 | 0x58 | Резервный регистр данных 17 | 0x0000 0000 |
| BKP_DR18 | 0x5C | Резервный регистр данных 18 | 0x0000 0000 |
| BKP_DR19 | 0x60 | Резервный регистр данных 19 | 0x0000 0000 |
| BKP_DR20 | 0x64 | Резервный регистр данных 20 | 0x0000 0000 |
| BKP_DR21 | 0x68 | Резервный регистр данных 21 | 0x0000 0000 |
| BKP_DR22 | 0x6C | Резервный регистр данных 22 | 0x0000 0000 |
| BKP_DR23 | 0x70 | Резервный регистр данных 23 | 0x0000 0000 |
| BKP_DR24 | 0x74 | Резервный регистр данных 24 | 0x0000 0000 |
| BKP_DR25 | 0x78 | Резервный регистр данных 25 | 0x0000 0000 |
| BKP_DR26 | 0x7C | Резервный регистр данных 26 | 0x0000 0000 |
| BKP_DR27 | 0x80 | Резервный регистр данных 27 | 0x0000 0000 |
| BKP_DR28 | 0x84 | Резервный регистр данных 28 | 0x0000 0000 |
| BKP_DR29 | 0x88 | Резервный регистр данных 29 | 0x0000 0000 |
| BKP_DR30 | 0x8C | Резервный регистр данных 30 | 0x0000 0000 |
| BKP_DR31 | 0x90 | Резервный регистр данных 31 | 0x0000 0000 |
| BKP_DR32 | 0x94 | Резервный регистр данных 32 | 0x0000 0000 |
| BKP_DR33 | 0x98 | Резервный регистр данных 33 | 0x0000 0000 |
| BKP_DR34 | 0x9C | Резервный регистр данных 34 | 0x0000 0000 |
| BKP_DR35 | 0xA0 | Резервный регистр данных 35 | 0x0000 0000 |
| BKP_DR36 | 0xA4 | Резервный регистр данных 36 | 0x0000 0000 |
| BKP_DR37 | 0xA8 | Резервный регистр данных 37 | 0x0000 0000 |
| BKP_DR38 | 0xAC | Резервный регистр данных 38 | 0x0000 0000 |
| BKP_DR39 | 0xB0 | Резервный регистр данных 39 | 0x0000 0000 |
| BKP_DR40 | 0xB4 | Резервный регистр данных 40 | 0x0000 0000 |
| BKP_DR41 | 0xB8 | Резервный регистр данных 41 | 0x0000 0000 |
| BKP_DR42 | 0xBC | Резервный регистр данных 42 | 0x0000 0000 |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000000
0000 0000 0000 0000 0000 0000 0000 0000
RTC->CRH = 0x00000000;RTC_CRH — разрешение прерываний RTC
Смещение 0x00, адрес 0x4000 2800, 32 бит, после сброса 0x0000. В коде: RTC->CRH.
| 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 |
| — | OWIE | ALRIE | SECIE | ||||||||||||
- OWIE (бит 2) — Прерывание по переполнению счётчика.
- ALRIE (бит 1) — Прерывание будильника.
- SECIE (бит 0) — Секундное прерывание.
RTC_CRL — флаги и режим настройки
Смещение 0x04, адрес 0x4000 2804, 32 бит, после сброса 0x0020. В коде: RTC->CRL.
| 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 |
| — | RTOFF | CNF | RSF | OWF | ALRF | SECF | |||||||||
- RTOFF (бит 5) — Последняя запись в RTC завершена; писать можно только при RTOFF = 1.
- CNF (бит 4) — Режим настройки: запись CNT, ALR и PRL выполняется при сбросе бита.
- RSF (бит 3) — Регистры синхронизированы; сбрасывается программно перед чтением.
- OWF (бит 2) — Переполнение 32-битного счётчика; сбрасывается записью 0.
- ALRF (бит 1) — Сработал будильник; сбрасывается записью 0.
- SECF (бит 0) — Секундный флаг; сбрасывается записью 0.
RTC_PRLH — предделитель, старшие 4 бита
Смещение 0x08, адрес 0x4000 2808, 32 бит, после сброса 0x0000. В коде: RTC->PRLH.
| 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 |
| — | PRL | ||||||||||||||
- PRL (биты 3:0) — Старшие биты 19:16 предделителя.
RTC_PRLL — предделитель, младшие 16 бит
Смещение 0x0C, адрес 0x4000 280C, 32 бит, после сброса 0x8000. В коде: RTC->PRLL.
| 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 |
| PRL | |||||||||||||||
- PRL (биты 15:0) — Младшие биты 15:0 предделителя.
RTC_DIVH — делитель, старшие 4 бита (только чтение)
Смещение 0x10, адрес 0x4000 2810, 32 бит, после сброса 0x0000. В коде: RTC->DIVH.
| 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 |
| — | RTC_DIV | ||||||||||||||
- RTC_DIV (биты 3:0) — Старшие биты текущего значения делителя.
RTC_DIVL — делитель, младшие 16 бит (только чтение)
Смещение 0x14, адрес 0x4000 2814, 32 бит, после сброса 0x8000. В коде: RTC->DIVL.
| 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 |
| RTC_DIV | |||||||||||||||
- RTC_DIV (биты 15:0) — Младшие биты текущего значения делителя.
RTC_CNTH — счётчик, старшие 16 бит
Смещение 0x18, адрес 0x4000 2818, 32 бит, после сброса 0x0000. В коде: RTC->CNTH.
| 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 |
| RTC_CNT | |||||||||||||||
- RTC_CNT (биты 15:0) — Старшие 16 бит счётчика.
RTC_CNTL — счётчик, младшие 16 бит
Смещение 0x1C, адрес 0x4000 281C, 32 бит, после сброса 0x0000. В коде: RTC->CNTL.
| 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 |
| RTC_CNT | |||||||||||||||
- RTC_CNT (биты 15:0) — Младшие 16 бит счётчика.
RTC_ALRH — будильник, старшие 16 бит
Смещение 0x20, адрес 0x4000 2820, 32 бит, после сброса 0xFFFF. В коде: RTC->ALRH.
| 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 |
| RTC_ALR | |||||||||||||||
- RTC_ALR (биты 15:0) — Старшие 16 бит значения будильника.
RTC_ALRL — будильник, младшие 16 бит
Смещение 0x24, адрес 0x4000 2824, 32 бит, после сброса 0xFFFF. В коде: RTC->ALRL.
| 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 |
| RTC_ALR | |||||||||||||||
- RTC_ALR (биты 15:0) — Младшие 16 бит значения будильника.
BKP_DR1 — резервный регистр данных 1
Смещение 0x04, адрес 0x4000 6C04, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR1.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR2 — резервный регистр данных 2
Смещение 0x08, адрес 0x4000 6C08, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR2.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR3 — резервный регистр данных 3
Смещение 0x0C, адрес 0x4000 6C0C, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR3.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR4 — резервный регистр данных 4
Смещение 0x10, адрес 0x4000 6C10, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR4.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR5 — резервный регистр данных 5
Смещение 0x14, адрес 0x4000 6C14, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR5.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR6 — резервный регистр данных 6
Смещение 0x18, адрес 0x4000 6C18, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR6.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR7 — резервный регистр данных 7
Смещение 0x1C, адрес 0x4000 6C1C, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR7.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR8 — резервный регистр данных 8
Смещение 0x20, адрес 0x4000 6C20, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR8.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR9 — резервный регистр данных 9
Смещение 0x24, адрес 0x4000 6C24, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR9.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR10 — резервный регистр данных 10
Смещение 0x28, адрес 0x4000 6C28, 32 бит, после сброса 0x0000 0000. В коде: BKP->DR10.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_RTCCR — калибровка часов и выход на вывод TAMPER
Смещение 0x2C, адрес 0x4000 6C2C, 32 бит, после сброса 0x0000 0000. В коде: BKP->RTCCR.
| 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 |
| — | ASOS | ASOE | CCO | CAL | |||||||||||
- ASOS (бит 9) — Сигнал на выводе TAMPER: импульс будильника или секундный импульс.
ASOS Значение 0 Импульс будильника 1 Секундный импульс - ASOE (бит 8) — Вывод будильника или секундных импульсов на TAMPER.
- CCO (бит 7) — Вывод частоты RTC / 64 на TAMPER для калибровки.
- CAL (биты 6:0) — Калибровка: число импульсов, пропускаемых на каждые 2^20 (0–121 ppm).
BKP_CR — вывод защиты TAMPER
Смещение 0x30, адрес 0x4000 6C30, 32 бит, после сброса 0x0000 0000. В коде: BKP->CR.
| 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 |
| — | TPAL | TPE | |||||||||||||
- TPAL (бит 1) — Активный уровень вывода TAMPER.
TPAL Значение 0 Высокий уровень стирает регистры 1 Низкий уровень стирает регистры - TPE (бит 0) — Включение вывода защиты TAMPER.
BKP_CSR — флаги и прерывание TAMPER
Смещение 0x34, адрес 0x4000 6C34, 32 бит, после сброса 0x0000 0000. В коде: BKP->CSR.
| 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 |
| — | TIF | TEF | — | TPIE | CTI | CTE | |||||||||
- TIF (бит 9) — Флаг прерывания TAMPER.
- TEF (бит 8) — Флаг события TAMPER: резервные регистры стёрты.
- TPIE (бит 2) — Прерывание по событию TAMPER.
- CTI (бит 1) — Сброс флага TIF записью единицы.
- CTE (бит 0) — Сброс флага TEF записью единицы.
BKP_DR11 — резервный регистр данных 11
Смещение 0x40, адрес 0x4000 6C40, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR11.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR12 — резервный регистр данных 12
Смещение 0x44, адрес 0x4000 6C44, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR12.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR13 — резервный регистр данных 13
Смещение 0x48, адрес 0x4000 6C48, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR13.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR14 — резервный регистр данных 14
Смещение 0x4C, адрес 0x4000 6C4C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR14.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR15 — резервный регистр данных 15
Смещение 0x50, адрес 0x4000 6C50, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR15.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR16 — резервный регистр данных 16
Смещение 0x54, адрес 0x4000 6C54, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR16.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR17 — резервный регистр данных 17
Смещение 0x58, адрес 0x4000 6C58, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR17.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR18 — резервный регистр данных 18
Смещение 0x5C, адрес 0x4000 6C5C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR18.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR19 — резервный регистр данных 19
Смещение 0x60, адрес 0x4000 6C60, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR19.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR20 — резервный регистр данных 20
Смещение 0x64, адрес 0x4000 6C64, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR20.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR21 — резервный регистр данных 21
Смещение 0x68, адрес 0x4000 6C68, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR21.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR22 — резервный регистр данных 22
Смещение 0x6C, адрес 0x4000 6C6C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR22.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR23 — резервный регистр данных 23
Смещение 0x70, адрес 0x4000 6C70, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR23.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR24 — резервный регистр данных 24
Смещение 0x74, адрес 0x4000 6C74, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR24.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR25 — резервный регистр данных 25
Смещение 0x78, адрес 0x4000 6C78, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR25.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR26 — резервный регистр данных 26
Смещение 0x7C, адрес 0x4000 6C7C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR26.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR27 — резервный регистр данных 27
Смещение 0x80, адрес 0x4000 6C80, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR27.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR28 — резервный регистр данных 28
Смещение 0x84, адрес 0x4000 6C84, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR28.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR29 — резервный регистр данных 29
Смещение 0x88, адрес 0x4000 6C88, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR29.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR30 — резервный регистр данных 30
Смещение 0x8C, адрес 0x4000 6C8C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR30.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR31 — резервный регистр данных 31
Смещение 0x90, адрес 0x4000 6C90, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR31.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR32 — резервный регистр данных 32
Смещение 0x94, адрес 0x4000 6C94, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR32.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR33 — резервный регистр данных 33
Смещение 0x98, адрес 0x4000 6C98, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR33.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR34 — резервный регистр данных 34
Смещение 0x9C, адрес 0x4000 6C9C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR34.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR35 — резервный регистр данных 35
Смещение 0xA0, адрес 0x4000 6CA0, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR35.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR36 — резервный регистр данных 36
Смещение 0xA4, адрес 0x4000 6CA4, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR36.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR37 — резервный регистр данных 37
Смещение 0xA8, адрес 0x4000 6CA8, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR37.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR38 — резервный регистр данных 38
Смещение 0xAC, адрес 0x4000 6CAC, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR38.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR39 — резервный регистр данных 39
Смещение 0xB0, адрес 0x4000 6CB0, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR39.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR40 — резервный регистр данных 40
Смещение 0xB4, адрес 0x4000 6CB4, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR40.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR41 — резервный регистр данных 41
Смещение 0xB8, адрес 0x4000 6CB8, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR41.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
BKP_DR42 — резервный регистр данных 42
Смещение 0xBC, адрес 0x4000 6CBC, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F101xE/xG, STM32F103xE/xG, STM32F105, STM32F107. В коде: BKP->DR42.
| 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 |
| D | |||||||||||||||
- D (биты 15:0) — 16 бит данных, хранящихся в резервном домене.
Частые вопросы
Как настроить RTC STM32F103 на счёт секунд?
Включите тактирование PWR и BKP, установите DBP, включите LSE (LSEON в RCC_BDCR) и дождитесь LSERDY, выберите RTCSEL = 01 и включите RTCEN. Затем дождитесь RTOFF = 1, установите CNF, запишите PRLH = 0 и PRLL = 0x7FFF, сбросьте CNF и дождитесь RTOFF. Счётчик RTC_CNT будет увеличиваться раз в секунду.
Почему после сброса время сбивается?
Если программа при каждом старте заново настраивает RTC, она перезаписывает счётчик. Признак того, что часы уже настроены, удобно хранить в резервном регистре: например, записать метку в BKP_DR1 и при старте проверять её, прежде чем трогать RTC.
Как вывести секундные импульсы на вывод?
Установите ASOE и ASOS = 1 в BKP_RTCCR — на вывод TAMPER пойдут секундные импульсы длительностью в один период RTCCLK. Вывод TAMPER при этом нельзя включать как вход защиты (TPE = 0).
Источники
- STMicroelectronics. RM0008: Reference manual (Rev 21) — раздел 18.4 и 6.4: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f1 v4.3.5: заголовки CMSIS stm32f101x6.h, stm32f101xb.h, stm32f101xe.h, stm32f101xg.h, stm32f102x6.h, stm32f102xb.h, stm32f103x6.h, stm32f103xb.h, stm32f103xe.h, stm32f103xg.h, stm32f105xc.h, stm32f107xc.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F1
- Все регистры STM32F1Блоки периферии и заголовки CMSIS
- RCC — сброс и тактированиеRCC_CR, RCC_CFGR, RCC_CIR, RCC_APB2RSTR, RCC_APB1RSTR, RCC_AHBENR
- GPIO — порты ввода-выводаGPIOx_CRL, GPIOx_CRH, GPIOx_IDR, GPIOx_ODR, GPIOx_BSRR, GPIOx_BRR
- AFIO — переназначение функций и выбор входов EXTIAFIO_EVCR, AFIO_MAPR, AFIO_EXTICR1, AFIO_EXTICR2, AFIO_EXTICR3, AFIO_EXTICR4
- EXTI — контроллер внешних прерываний и событийEXTI_IMR, EXTI_EMR, EXTI_RTSR, EXTI_FTSR, EXTI_SWIER, EXTI_PR
- USART — последовательные порты USART и UARTUSART_SR, USART_DR, USART_BRR, USART_CR1, USART_CR2, USART_CR3
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_DR, I2C_SR1
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- DMA — контроллеры прямого доступа к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- ADC — аналого-цифровые преобразователиADC_SR, ADC_CR1, ADC_CR2, ADC_SMPR1, ADC_SMPR2, ADC_JOFR1
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — блок вычисления CRCCRC_DR, CRC_IDR, CRC_CR
- DBGMCU — регистры отладкиDBGMCU_IDCODE, DBGMCU_CR
- PWR — управление питаниемPWR_CR, PWR_CSR
- DAC — цифро-аналоговый преобразовательDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2
- CAN — контроллер CAN (bxCAN)CAN_MCR, CAN_MSR, CAN_TSR, CAN_RF0R, CAN_RF1R, CAN_IER