Регистры RCC STM32F4
Регистры RCC STM32F4: генераторы HSI и HSE, главный PLL с делителями M, N, P и Q, PLLI2S и PLLSAI для звука и дисплея, делители шин AHB, APB1 и APB2, выходы MCO, тактирование и сброс периферии, часы RTC.
Содержание
- Регистры блока
- Конструктор
- RCC_CR
- RCC_PLLCFGR
- RCC_CFGR
- RCC_CIR
- RCC_AHB1RSTR
- RCC_AHB2RSTR
- RCC_AHB3RSTR
- RCC_APB1RSTR
- RCC_APB2RSTR
- RCC_AHB1ENR
- RCC_AHB2ENR
- RCC_AHB3ENR
- RCC_APB1ENR
- RCC_APB2ENR
- RCC_AHB1LPENR
- RCC_AHB2LPENR
- RCC_AHB3LPENR
- RCC_APB1LPENR
- RCC_APB2LPENR
- RCC_BDCR
- RCC_CSR
- RCC_SSCGR
- RCC_PLLI2SCFGR
- RCC_PLLSAICFGR
- RCC_DCKCFGR
Системную частоту STM32F4 дают внутренний RC-генератор HSI на 16 МГц, внешний кварц или генератор HSE на 4–26 МГц и главный PLL. Часам и сторожевому таймеру служат LSI на 32 кГц и часовой кварц LSE на 32,768 кГц. Пределы частот: AHB — 168 МГц у STM32F405/407 и 180 МГц у STM32F42x/43x, APB2 — 84 и 90 МГц, APB1 — 42 и 45 МГц (RM0090, разделы 6.2 и 7.2).
Главный PLL настраивается в RCC_PLLCFGR: делитель PLLM приводит вход к 1–2 МГц (рекомендуется 2 МГц — меньше джиттер), множитель PLLN поднимает его до 100–432 МГц на выходе VCO, делитель PLLP (2, 4, 6 или 8) даёт системную частоту, PLLQ — 48 МГц для USB OTG FS, SDIO и генератора случайных чисел. С кварцем 8 МГц для 168 МГц подходят PLLM = 4, PLLN = 168, PLLP = 2 и PLLQ = 7: вход VCO — 2 МГц, VCO — 336 МГц, USB — ровно 48 МГц.
PLLI2S тактирует интерфейсы I2S, а у STM32F42x/43x ещё и SAI1; там же есть PLLSAI для SAI1 и контроллера дисплея LTDC. Периферия включается битами регистров ENR по шинам AHB1, AHB2, AHB3, APB1 и APB2, а биты LPENR оставляют блоку тактирование в режиме сна — после сброса почти все они установлены.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| RCC | 0x4002 3800 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| RCC_CR | 0x00 | Управление генераторами и PLL | 0x0000 XX83 (X — не определено) |
| RCC_PLLCFGR | 0x04 | Главный PLL: делители M, P, Q и множитель N | 0x2400 3010 |
| RCC_CFGR | 0x08 | Выбор SYSCLK, делители шин, выход MCO | 0x0000 0000 |
| RCC_CIR | 0x0C | Прерывания готовности генераторов | 0x0000 0000 |
| RCC_AHB1RSTR | 0x10 | Сброс периферии шины AHB1 | 0x0000 0000 |
| RCC_AHB2RSTR | 0x14 | Сброс периферии шины AHB2 | 0x0000 0000 |
| RCC_AHB3RSTR | 0x18 | Сброс контроллера внешней памяти (AHB3) | 0x0000 0000 |
| RCC_APB1RSTR | 0x20 | Сброс периферии шины APB1 | 0x0000 0000 |
| RCC_APB2RSTR | 0x24 | Сброс периферии шины APB2 | 0x0000 0000 |
| RCC_AHB1ENR | 0x30 | Тактирование периферии шины AHB1 | 0x0010 0000 |
| RCC_AHB2ENR | 0x34 | Тактирование периферии шины AHB2 | 0x0000 0000 |
| RCC_AHB3ENR | 0x38 | Тактирование контроллера внешней памяти (AHB3) | 0x0000 0000 |
| RCC_APB1ENR | 0x40 | Тактирование периферии шины APB1 | 0x0000 0000 |
| RCC_APB2ENR | 0x44 | Тактирование периферии шины APB2 | 0x0000 0000 |
| RCC_AHB1LPENR | 0x50 | Тактирование AHB1 в режиме сна | STM32F427, STM32F429, STM32F437, STM32F439: 0x7EEF 97FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x7E67 91FF |
| RCC_AHB2LPENR | 0x54 | Тактирование AHB2 в режиме сна | 0x0000 00F1 |
| RCC_AHB3LPENR | 0x58 | Тактирование AHB3 в режиме сна | 0x0000 0001 |
| RCC_APB1LPENR | 0x60 | Тактирование APB1 в режиме сна | STM32F427, STM32F429, STM32F437, STM32F439: 0xF6FE C9FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x36FE C9FF |
| RCC_APB2LPENR | 0x64 | Тактирование APB2 в режиме сна | STM32F427, STM32F429, STM32F437, STM32F439: 0x0477 7F33; STM32F405, STM32F407, STM32F415, STM32F417: 0x0007 5F33 |
| RCC_BDCR | 0x70 | Резервный домен: LSE и часы RTC | 0x0000 0000 (сбрасывается сбросом домена резервного питания) |
| RCC_CSR | 0x74 | Генератор LSI и флаги причины сброса | 0x0E00 0000 (сбрасывается системным сбросом, флаги сброса — только при включении питания) |
| RCC_SSCGR | 0x80 | Модуляция частоты PLL с расширением спектра | 0x0000 0000 |
| RCC_PLLI2SCFGR | 0x84 | PLLI2S: тактирование I2S и SAI1 | STM32F427, STM32F429, STM32F437, STM32F439: 0x2400 3000; STM32F405, STM32F407, STM32F415, STM32F417: 0x2000 3000 |
| RCC_PLLSAICFGR | 0x88 | PLLSAI: тактирование SAI1 и дисплея LTDC | 0x2400 3000 |
| RCC_DCKCFGR | 0x8C | Таймеры, источники SAI1 и делители LCD | 0x0000 0000 |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000083
0000 0000 0000 0000 0000 0000 1000 0011
RCC->CR = 0x00000083;RCC_CR — управление генераторами и PLL
Смещение 0x00, адрес 0x4002 3800, 32 бит, после сброса 0x0000 XX83 (X — не определено). В коде: RCC->CR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PLLSAIRDY | PLLSAION | PLLI2SRDY | PLLI2SON | PLLRDY | PLLON | — | CSSON | HSEBYP | HSERDY | HSEON | ||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| HSICAL | HSITRIM | — | HSIRDY | HSION | |||||||||||
- PLLSAIRDY (бит 29) — Флаг захвата PLLSAI (устанавливается аппаратно) (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLSAION (бит 28) — Включение PLLSAI (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLI2SRDY (бит 27) — Флаг захвата PLLI2S (устанавливается аппаратно).
- PLLI2SON (бит 26) — Включение PLLI2S.
- PLLRDY (бит 25) — Флаг захвата PLL (устанавливается аппаратно).
- PLLON (бит 24) — Включение PLL.
- CSSON (бит 19) — Включение системы контроля тактирования CSS: при отказе HSE — прерывание NMI и переход SYSCLK на HSI.
- HSEBYP (бит 18) — Обход генератора HSE: на OSC_IN подаётся готовый тактовый сигнал вместо кварца.
- HSERDY (бит 17) — Флаг готовности HSE (устанавливается аппаратно).
- HSEON (бит 16) — Включение генератора HSE.
- HSICAL (биты 15:8) — Заводская калибровка HSI (только чтение).
- HSITRIM (биты 7:3) — Подстройка частоты HSI, добавляется к заводской калибровке.
- HSIRDY (бит 1) — Флаг готовности HSI (устанавливается аппаратно).
- HSION (бит 0) — Включение внутреннего генератора HSI.
RCC_PLLCFGR — главный PLL: делители M, P, Q и множитель N
Смещение 0x04, адрес 0x4002 3804, 32 бит, после сброса 0x2400 3010. В коде: RCC->PLLCFGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PLLQ | — | PLLSRC | — | PLLP | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PLLN | PLLM | |||||||||||||
- PLLQ (биты 27:24) — Делитель VCO для USB OTG FS, SDIO и RNG, 2…15: USB нужно ровно 48 МГц.
- PLLSRC (бит 22) — Источник главного PLL и PLLI2S: HSI или HSE; меняется при выключенных PLL.
PLLSRC Значение Макрос CMSIS 0 HSI RCC_PLLCFGR_PLLSRC_HSI 1 HSE RCC_PLLCFGR_PLLSRC_HSE - PLLP (биты 17:16) — Делитель VCO для системной частоты: до 168 МГц у F405/407, до 180 МГц у F42x/43x.
PLLP Значение 00 Деление на 2 01 Деление на 4 10 Деление на 6 11 Деление на 8 - PLLN (биты 14:6) — Множитель VCO, 50…432: выход VCO — 100–432 МГц.
- PLLM (биты 5:0) — Делитель входа PLL и PLLI2S, 2…63: на входе VCO должно быть 1–2 МГц.
RCC_CFGR — выбор SYSCLK, делители шин, выход MCO
Смещение 0x08, адрес 0x4002 3808, 32 бит, после сброса 0x0000 0000. В коде: RCC->CFGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| MCO2 | MCO2PRE | MCO1PRE | I2SSRC | MCO1 | RTCPRE | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| PPRE2 | PPRE1 | — | HPRE | SWS | SW | ||||||||||
- MCO2 (биты 31:30) — Сигнал на выходе MCO2 (вывод PC9), не выше 100 МГц.
MCO2 Значение 00 SYSCLK 01 PLLI2S 10 HSE 11 PLL - MCO2PRE (биты 29:27) — Делитель выхода MCO2: 1…5.
MCO2PRE Значение 000 Без деления (любой код 0xx) 100 Деление на 2 101 Деление на 3 110 Деление на 4 111 Деление на 5 - MCO1PRE (биты 26:24) — Делитель выхода MCO1: 1…5.
MCO1PRE Значение 000 Без деления (любой код 0xx) 100 Деление на 2 101 Деление на 3 110 Деление на 4 111 Деление на 5 - I2SSRC (бит 23) — Источник тактирования I2S: PLLI2S или внешний сигнал I2S_CKIN.
I2SSRC Значение 0 PLLI2S 1 Внешний сигнал на выводе I2S_CKIN - MCO1 (биты 22:21) — Сигнал на выходе MCO1 (вывод PA8), не выше 100 МГц.
MCO1 Значение 00 HSI 01 LSE 10 HSE 11 PLL - RTCPRE (биты 20:16) — Делитель HSE для часов RTC, 2…31: часам нужен 1 МГц; 0 и 1 — нет сигнала.
- PPRE2 (биты 15:13) — Делитель шины APB2: PCLK2 = HCLK / делитель.
PPRE2 Значение Макрос CMSIS 000 Без деления RCC_CFGR_PPRE2_DIV1 100 Деление на 2 RCC_CFGR_PPRE2_DIV2 101 Деление на 4 RCC_CFGR_PPRE2_DIV4 110 Деление на 8 RCC_CFGR_PPRE2_DIV8 111 Деление на 16 RCC_CFGR_PPRE2_DIV16 - PPRE1 (биты 12:10) — Делитель шины APB1: PCLK1 = HCLK / делитель.
PPRE1 Значение Макрос CMSIS 000 Без деления RCC_CFGR_PPRE1_DIV1 100 Деление на 2 RCC_CFGR_PPRE1_DIV2 101 Деление на 4 RCC_CFGR_PPRE1_DIV4 110 Деление на 8 RCC_CFGR_PPRE1_DIV8 111 Деление на 16 RCC_CFGR_PPRE1_DIV16 - HPRE (биты 7:4) — Делитель шины AHB: HCLK = SYSCLK / делитель.
HPRE Значение Макрос CMSIS 0000 Без деления RCC_CFGR_HPRE_DIV1 1000 Деление на 2 RCC_CFGR_HPRE_DIV2 1001 Деление на 4 RCC_CFGR_HPRE_DIV4 1010 Деление на 8 RCC_CFGR_HPRE_DIV8 1011 Деление на 16 RCC_CFGR_HPRE_DIV16 1100 Деление на 64 RCC_CFGR_HPRE_DIV64 1101 Деление на 128 RCC_CFGR_HPRE_DIV128 1110 Деление на 256 RCC_CFGR_HPRE_DIV256 1111 Деление на 512 RCC_CFGR_HPRE_DIV512 - SWS (биты 3:2) — Источник SYSCLK в данный момент (только чтение).
SWS Значение Макрос CMSIS 00 HSI RCC_CFGR_SWS_HSI 01 HSE RCC_CFGR_SWS_HSE 10 PLL RCC_CFGR_SWS_PLL - SW (биты 1:0) — Источник системной частоты SYSCLK.
SW Значение Макрос CMSIS 00 HSI RCC_CFGR_SW_HSI 01 HSE RCC_CFGR_SW_HSE 10 PLL RCC_CFGR_SW_PLL
RCC_CIR — прерывания готовности генераторов
Смещение 0x0C, адрес 0x4002 380C, 32 бит, после сброса 0x0000 0000. В коде: RCC->CIR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | CSSC | PLLSAIRDYC | PLLI2SRDYC | PLLRDYC | HSERDYC | HSIRDYC | LSERDYC | LSIRDYC | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PLLSAIRDYIE | PLLI2SRDYIE | PLLRDYIE | HSERDYIE | HSIRDYIE | LSERDYIE | LSIRDYIE | CSSF | PLLSAIRDYF | PLLI2SRDYF | PLLRDYF | HSERDYF | HSIRDYF | LSERDYF | LSIRDYF |
- CSSC (бит 23) — Сброс флага CSSF: запись 1.
- PLLSAIRDYC (бит 22) — Сброс флага прерывания готовности PLLSAI: запись 1 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLI2SRDYC (бит 21) — Сброс флага прерывания готовности PLLI2S: запись 1.
- PLLRDYC (бит 20) — Сброс флага прерывания готовности PLL: запись 1.
- HSERDYC (бит 19) — Сброс флага прерывания готовности HSE: запись 1.
- HSIRDYC (бит 18) — Сброс флага прерывания готовности HSI: запись 1.
- LSERDYC (бит 17) — Сброс флага прерывания готовности LSE: запись 1.
- LSIRDYC (бит 16) — Сброс флага прерывания готовности LSI: запись 1.
- PLLSAIRDYIE (бит 14) — Разрешение прерывания по готовности PLLSAI (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLI2SRDYIE (бит 13) — Разрешение прерывания по готовности PLLI2S.
- PLLRDYIE (бит 12) — Разрешение прерывания по готовности PLL.
- HSERDYIE (бит 11) — Разрешение прерывания по готовности HSE.
- HSIRDYIE (бит 10) — Разрешение прерывания по готовности HSI.
- LSERDYIE (бит 9) — Разрешение прерывания по готовности LSE.
- LSIRDYIE (бит 8) — Разрешение прерывания по готовности LSI.
- CSSF (бит 7) — Флаг прерывания системы CSS: отказ HSE.
- PLLSAIRDYF (бит 6) — Флаг прерывания: PLLSAI готов (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLI2SRDYF (бит 5) — Флаг прерывания: PLLI2S готов.
- PLLRDYF (бит 4) — Флаг прерывания: PLL готов.
- HSERDYF (бит 3) — Флаг прерывания: HSE готов.
- HSIRDYF (бит 2) — Флаг прерывания: HSI готов.
- LSERDYF (бит 1) — Флаг прерывания: LSE готов.
- LSIRDYF (бит 0) — Флаг прерывания: LSI готов.
RCC_AHB1RSTR — сброс периферии шины AHB1
Смещение 0x10, адрес 0x4002 3810, 32 бит, после сброса 0x0000 0000. В коде: RCC->AHB1RSTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | OTGHRST | — | ETHMACRST | — | DMA2DRST | DMA2RST | DMA1RST | — | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | CRCRST | — | GPIOKRST | GPIOJRST | GPIOIRST | GPIOHRST | GPIOGRST | GPIOFRST | GPIOERST | GPIODRST | GPIOCRST | GPIOBRST | GPIOARST | ||
- OTGHRST (бит 29) — Сброс USB OTG HS: 1 — блок удерживается в сбросе.
- ETHMACRST (бит 25) — Сброс Ethernet MAC: 1 — блок удерживается в сбросе (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2DRST (бит 23) — Сброс DMA2D: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2RST (бит 22) — Сброс DMA2: 1 — блок удерживается в сбросе.
- DMA1RST (бит 21) — Сброс DMA1: 1 — блок удерживается в сбросе.
- CRCRST (бит 12) — Сброс блока CRC: 1 — блок удерживается в сбросе.
- GPIOKRST (бит 10) — Сброс порта K: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOJRST (бит 9) — Сброс порта J: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOIRST (бит 8) — Сброс порта I: 1 — блок удерживается в сбросе.
- GPIOHRST (бит 7) — Сброс порта H: 1 — блок удерживается в сбросе.
- GPIOGRST (бит 6) — Сброс порта G: 1 — блок удерживается в сбросе.
- GPIOFRST (бит 5) — Сброс порта F: 1 — блок удерживается в сбросе.
- GPIOERST (бит 4) — Сброс порта E: 1 — блок удерживается в сбросе.
- GPIODRST (бит 3) — Сброс порта D: 1 — блок удерживается в сбросе.
- GPIOCRST (бит 2) — Сброс порта C: 1 — блок удерживается в сбросе.
- GPIOBRST (бит 1) — Сброс порта B: 1 — блок удерживается в сбросе.
- GPIOARST (бит 0) — Сброс порта A: 1 — блок удерживается в сбросе.
RCC_AHB2RSTR — сброс периферии шины AHB2
Смещение 0x14, адрес 0x4002 3814, 32 бит, после сброса 0x0000 0000. В коде: RCC->AHB2RSTR.
| 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 |
| — | OTGFSRST | RNGRST | HASHRST | CRYPRST | — | DCMIRST | |||||||||
- OTGFSRST (бит 7) — Сброс USB OTG FS: 1 — блок удерживается в сбросе.
- RNGRST (бит 6) — Сброс генератора случайных чисел RNG: 1 — блок удерживается в сбросе.
- HASHRST (бит 5) — Сброс блока HASH: 1 — блок удерживается в сбросе (только у STM32F415, STM32F417, STM32F437, STM32F439).
- CRYPRST (бит 4) — Сброс блока шифрования CRYP: 1 — блок удерживается в сбросе (только у STM32F415, STM32F417, STM32F437, STM32F439).
- DCMIRST (бит 0) — Сброс интерфейса камеры DCMI: 1 — блок удерживается в сбросе (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
RCC_AHB3RSTR — сброс контроллера внешней памяти (AHB3)
Смещение 0x18, адрес 0x4002 3818, 32 бит, после сброса 0x0000 0000. В коде: RCC->AHB3RSTR.
| 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 |
| — | FSMCRST | ||||||||||||||
- FSMCRST (бит 0) — Сброс FSMC: 1 — блок удерживается в сбросе (только у STM32F405, STM32F407, STM32F415, STM32F417).
- FMCRST (бит 0) — Сброс FMC: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
RCC_APB1RSTR — сброс периферии шины APB1
Смещение 0x20, адрес 0x4002 3820, 32 бит, после сброса 0x0000 0000. В коде: RCC->APB1RSTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8RST | UART7RST | DACRST | PWRRST | — | CAN2RST | CAN1RST | — | I2C3RST | I2C2RST | I2C1RST | UART5RST | UART4RST | USART3RST | USART2RST | — |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3RST | SPI2RST | — | WWDGRST | — | TIM14RST | TIM13RST | TIM12RST | TIM7RST | TIM6RST | TIM5RST | TIM4RST | TIM3RST | TIM2RST | ||
- UART8RST (бит 31) — Сброс UART8: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- UART7RST (бит 30) — Сброс UART7: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DACRST (бит 29) — Сброс ЦАП: 1 — блок удерживается в сбросе.
- PWRRST (бит 28) — Сброс интерфейса управления питанием PWR: 1 — блок удерживается в сбросе.
- CAN2RST (бит 26) — Сброс CAN2: 1 — блок удерживается в сбросе.
- CAN1RST (бит 25) — Сброс CAN1: 1 — блок удерживается в сбросе.
- I2C3RST (бит 23) — Сброс I2C3: 1 — блок удерживается в сбросе.
- I2C2RST (бит 22) — Сброс I2C2: 1 — блок удерживается в сбросе.
- I2C1RST (бит 21) — Сброс I2C1: 1 — блок удерживается в сбросе.
- UART5RST (бит 20) — Сброс UART5: 1 — блок удерживается в сбросе.
- UART4RST (бит 19) — Сброс UART4: 1 — блок удерживается в сбросе.
- USART3RST (бит 18) — Сброс USART3: 1 — блок удерживается в сбросе.
- USART2RST (бит 17) — Сброс USART2: 1 — блок удерживается в сбросе.
- SPI3RST (бит 15) — Сброс SPI3: 1 — блок удерживается в сбросе.
- SPI2RST (бит 14) — Сброс SPI2: 1 — блок удерживается в сбросе.
- WWDGRST (бит 11) — Сброс оконного сторожевого таймера WWDG: 1 — блок удерживается в сбросе.
- TIM14RST (бит 8) — Сброс таймера TIM14: 1 — блок удерживается в сбросе.
- TIM13RST (бит 7) — Сброс таймера TIM13: 1 — блок удерживается в сбросе.
- TIM12RST (бит 6) — Сброс таймера TIM12: 1 — блок удерживается в сбросе.
- TIM7RST (бит 5) — Сброс таймера TIM7: 1 — блок удерживается в сбросе.
- TIM6RST (бит 4) — Сброс таймера TIM6: 1 — блок удерживается в сбросе.
- TIM5RST (бит 3) — Сброс таймера TIM5: 1 — блок удерживается в сбросе.
- TIM4RST (бит 2) — Сброс таймера TIM4: 1 — блок удерживается в сбросе.
- TIM3RST (бит 1) — Сброс таймера TIM3: 1 — блок удерживается в сбросе.
- TIM2RST (бит 0) — Сброс таймера TIM2: 1 — блок удерживается в сбросе.
RCC_APB2RSTR — сброс периферии шины APB2
Смещение 0x24, адрес 0x4002 3824, 32 бит, после сброса 0x0000 0000. В коде: RCC->APB2RSTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | LTDCRST | — | SAI1RST | SPI6RST | SPI5RST | — | TIM11RST | TIM10RST | TIM9RST | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SYSCFGRST | SPI4RST | SPI1RST | SDIORST | — | ADCRST | — | USART6RST | USART1RST | — | TIM8RST | TIM1RST | |||
- LTDCRST (бит 26) — Сброс контроллера дисплея LTDC: 1 — блок удерживается в сбросе (только у STM32F429, STM32F439).
- SAI1RST (бит 22) — Сброс SAI1: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI6RST (бит 21) — Сброс SPI6: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI5RST (бит 20) — Сброс SPI5: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- TIM11RST (бит 18) — Сброс таймера TIM11: 1 — блок удерживается в сбросе.
- TIM10RST (бит 17) — Сброс таймера TIM10: 1 — блок удерживается в сбросе.
- TIM9RST (бит 16) — Сброс таймера TIM9: 1 — блок удерживается в сбросе.
- SYSCFGRST (бит 14) — Сброс SYSCFG: 1 — блок удерживается в сбросе.
- SPI4RST (бит 13) — Сброс SPI4: 1 — блок удерживается в сбросе (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI1RST (бит 12) — Сброс SPI1: 1 — блок удерживается в сбросе.
- SDIORST (бит 11) — Сброс SDIO: 1 — блок удерживается в сбросе.
- ADCRST (бит 8) — Сброс всех АЦП: 1 — блок удерживается в сбросе.
- USART6RST (бит 5) — Сброс USART6: 1 — блок удерживается в сбросе.
- USART1RST (бит 4) — Сброс USART1: 1 — блок удерживается в сбросе.
- TIM8RST (бит 1) — Сброс таймера TIM8: 1 — блок удерживается в сбросе.
- TIM1RST (бит 0) — Сброс таймера TIM1: 1 — блок удерживается в сбросе.
RCC_AHB1ENR — тактирование периферии шины AHB1
Смещение 0x30, адрес 0x4002 3830, 32 бит, после сброса 0x0010 0000. В коде: RCC->AHB1ENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | OTGHSULPIEN | OTGHSEN | ETHMACPTPEN | ETHMACRXEN | ETHMACTXEN | ETHMACEN | — | DMA2DEN | DMA2EN | DMA1EN | CCMDATARAMEN | — | BKPSRAMEN | — | |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | CRCEN | — | GPIOKEN | GPIOJEN | GPIOIEN | GPIOHEN | GPIOGEN | GPIOFEN | GPIOEEN | GPIODEN | GPIOCEN | GPIOBEN | GPIOAEN | ||
- OTGHSULPIEN (бит 30) — Тактирование интерфейса ULPI для USB OTG HS.
- OTGHSEN (бит 29) — Тактирование USB OTG HS.
- ETHMACPTPEN (бит 28) — Тактирование часов PTP Ethernet (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACRXEN (бит 27) — Тактирование приёмника Ethernet MAC (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACTXEN (бит 26) — Тактирование передатчика Ethernet MAC (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACEN (бит 25) — Тактирование Ethernet MAC (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2DEN (бит 23) — Тактирование DMA2D (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2EN (бит 22) — Тактирование DMA2.
- DMA1EN (бит 21) — Тактирование DMA1.
- CCMDATARAMEN (бит 20) — Тактирование памяти CCM.
- BKPSRAMEN (бит 18) — Тактирование резервной SRAM.
- CRCEN (бит 12) — Тактирование блока CRC.
- GPIOKEN (бит 10) — Тактирование порта K (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOJEN (бит 9) — Тактирование порта J (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOIEN (бит 8) — Тактирование порта I.
- GPIOHEN (бит 7) — Тактирование порта H.
- GPIOGEN (бит 6) — Тактирование порта G.
- GPIOFEN (бит 5) — Тактирование порта F.
- GPIOEEN (бит 4) — Тактирование порта E.
- GPIODEN (бит 3) — Тактирование порта D.
- GPIOCEN (бит 2) — Тактирование порта C.
- GPIOBEN (бит 1) — Тактирование порта B.
- GPIOAEN (бит 0) — Тактирование порта A.
RCC_AHB2ENR — тактирование периферии шины AHB2
Смещение 0x34, адрес 0x4002 3834, 32 бит, после сброса 0x0000 0000. В коде: RCC->AHB2ENR.
| 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 |
| — | OTGFSEN | RNGEN | HASHEN | CRYPEN | — | DCMIEN | |||||||||
- OTGFSEN (бит 7) — Тактирование USB OTG FS.
- RNGEN (бит 6) — Тактирование генератора случайных чисел RNG.
- HASHEN (бит 5) — Тактирование блока HASH (только у STM32F415, STM32F417, STM32F437, STM32F439).
- CRYPEN (бит 4) — Тактирование блока шифрования CRYP (только у STM32F415, STM32F417, STM32F437, STM32F439).
- DCMIEN (бит 0) — Тактирование интерфейса камеры DCMI (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
RCC_AHB3ENR — тактирование контроллера внешней памяти (AHB3)
Смещение 0x38, адрес 0x4002 3838, 32 бит, после сброса 0x0000 0000. В коде: RCC->AHB3ENR.
| 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 |
| — | FSMCEN | ||||||||||||||
- FSMCEN (бит 0) — Тактирование FSMC (только у STM32F405, STM32F407, STM32F415, STM32F417).
- FMCEN (бит 0) — Тактирование FMC (только у STM32F427, STM32F429, STM32F437, STM32F439).
RCC_APB1ENR — тактирование периферии шины APB1
Смещение 0x40, адрес 0x4002 3840, 32 бит, после сброса 0x0000 0000. В коде: RCC->APB1ENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8EN | UART7EN | DACEN | PWREN | — | CAN2EN | CAN1EN | — | I2C3EN | I2C2EN | I2C1EN | UART5EN | UART4EN | USART3EN | USART2EN | — |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3EN | SPI2EN | — | WWDGEN | — | TIM14EN | TIM13EN | TIM12EN | TIM7EN | TIM6EN | TIM5EN | TIM4EN | TIM3EN | TIM2EN | ||
- UART8EN (бит 31) — Тактирование UART8 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- UART7EN (бит 30) — Тактирование UART7 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DACEN (бит 29) — Тактирование ЦАП.
- PWREN (бит 28) — Тактирование интерфейса управления питанием PWR.
- CAN2EN (бит 26) — Тактирование CAN2.
- CAN1EN (бит 25) — Тактирование CAN1.
- I2C3EN (бит 23) — Тактирование I2C3.
- I2C2EN (бит 22) — Тактирование I2C2.
- I2C1EN (бит 21) — Тактирование I2C1.
- UART5EN (бит 20) — Тактирование UART5.
- UART4EN (бит 19) — Тактирование UART4.
- USART3EN (бит 18) — Тактирование USART3.
- USART2EN (бит 17) — Тактирование USART2.
- SPI3EN (бит 15) — Тактирование SPI3.
- SPI2EN (бит 14) — Тактирование SPI2.
- WWDGEN (бит 11) — Тактирование оконного сторожевого таймера WWDG.
- TIM14EN (бит 8) — Тактирование таймера TIM14.
- TIM13EN (бит 7) — Тактирование таймера TIM13.
- TIM12EN (бит 6) — Тактирование таймера TIM12.
- TIM7EN (бит 5) — Тактирование таймера TIM7.
- TIM6EN (бит 4) — Тактирование таймера TIM6.
- TIM5EN (бит 3) — Тактирование таймера TIM5.
- TIM4EN (бит 2) — Тактирование таймера TIM4.
- TIM3EN (бит 1) — Тактирование таймера TIM3.
- TIM2EN (бит 0) — Тактирование таймера TIM2.
RCC_APB2ENR — тактирование периферии шины APB2
Смещение 0x44, адрес 0x4002 3844, 32 бит, после сброса 0x0000 0000. В коде: RCC->APB2ENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | LTDCEN | — | SAI1EN | SPI6EN | SPI5EN | — | TIM11EN | TIM10EN | TIM9EN | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SYSCFGEN | SPI4EN | SPI1EN | SDIOEN | ADC3EN | ADC2EN | ADC1EN | — | USART6EN | USART1EN | — | TIM8EN | TIM1EN | ||
- LTDCEN (бит 26) — Тактирование контроллера дисплея LTDC (только у STM32F429, STM32F439).
- SAI1EN (бит 22) — Тактирование SAI1 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI6EN (бит 21) — Тактирование SPI6 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI5EN (бит 20) — Тактирование SPI5 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- TIM11EN (бит 18) — Тактирование таймера TIM11.
- TIM10EN (бит 17) — Тактирование таймера TIM10.
- TIM9EN (бит 16) — Тактирование таймера TIM9.
- SYSCFGEN (бит 14) — Тактирование SYSCFG.
- SPI4EN (бит 13) — Тактирование SPI4 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI1EN (бит 12) — Тактирование SPI1.
- SDIOEN (бит 11) — Тактирование SDIO.
- ADC3EN (бит 10) — Тактирование АЦП3.
- ADC2EN (бит 9) — Тактирование АЦП2.
- ADC1EN (бит 8) — Тактирование АЦП1.
- USART6EN (бит 5) — Тактирование USART6.
- USART1EN (бит 4) — Тактирование USART1.
- TIM8EN (бит 1) — Тактирование таймера TIM8.
- TIM1EN (бит 0) — Тактирование таймера TIM1.
RCC_AHB1LPENR — тактирование AHB1 в режиме сна
Смещение 0x50, адрес 0x4002 3850, 32 бит, после сброса STM32F427, STM32F429, STM32F437, STM32F439: 0x7EEF 97FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x7E67 91FF. В коде: RCC->AHB1LPENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | OTGHSULPILPEN | OTGHSLPEN | ETHMACPTPLPEN | ETHMACRXLPEN | ETHMACTXLPEN | ETHMACLPEN | — | DMA2DLPEN | DMA2LPEN | DMA1LPEN | — | SRAM3LPEN | BKPSRAMLPEN | SRAM2LPEN | SRAM1LPEN |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| FLITFLPEN | — | CRCLPEN | — | GPIOKLPEN | GPIOJLPEN | GPIOILPEN | GPIOHLPEN | GPIOGLPEN | GPIOFLPEN | GPIOELPEN | GPIODLPEN | GPIOCLPEN | GPIOBLPEN | GPIOALPEN | |
- OTGHSULPILPEN (бит 30) — Тактирование интерфейса ULPI для USB OTG HS в режиме сна.
- OTGHSLPEN (бит 29) — Тактирование USB OTG HS в режиме сна.
- ETHMACPTPLPEN (бит 28) — Тактирование часов PTP Ethernet в режиме сна (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACRXLPEN (бит 27) — Тактирование приёмника Ethernet MAC в режиме сна (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACTXLPEN (бит 26) — Тактирование передатчика Ethernet MAC в режиме сна (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- ETHMACLPEN (бит 25) — Тактирование Ethernet MAC в режиме сна (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2DLPEN (бит 23) — Тактирование DMA2D в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DMA2LPEN (бит 22) — Тактирование DMA2 в режиме сна.
- DMA1LPEN (бит 21) — Тактирование DMA1 в режиме сна.
- SRAM3LPEN (бит 19) — Тактирование SRAM3 в режиме сна (только у STM32F429, STM32F437, STM32F439).
- BKPSRAMLPEN (бит 18) — Тактирование резервной SRAM в режиме сна.
- SRAM2LPEN (бит 17) — Тактирование SRAM2 в режиме сна.
- SRAM1LPEN (бит 16) — Тактирование SRAM1 в режиме сна.
- FLITFLPEN (бит 15) — Тактирование интерфейса флеш-памяти в режиме сна.
- CRCLPEN (бит 12) — Тактирование блока CRC в режиме сна.
- GPIOKLPEN (бит 10) — Тактирование порта K в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOJLPEN (бит 9) — Тактирование порта J в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- GPIOILPEN (бит 8) — Тактирование порта I в режиме сна.
- GPIOHLPEN (бит 7) — Тактирование порта H в режиме сна.
- GPIOGLPEN (бит 6) — Тактирование порта G в режиме сна.
- GPIOFLPEN (бит 5) — Тактирование порта F в режиме сна.
- GPIOELPEN (бит 4) — Тактирование порта E в режиме сна.
- GPIODLPEN (бит 3) — Тактирование порта D в режиме сна.
- GPIOCLPEN (бит 2) — Тактирование порта C в режиме сна.
- GPIOBLPEN (бит 1) — Тактирование порта B в режиме сна.
- GPIOALPEN (бит 0) — Тактирование порта A в режиме сна.
RCC_AHB2LPENR — тактирование AHB2 в режиме сна
Смещение 0x54, адрес 0x4002 3854, 32 бит, после сброса 0x0000 00F1. В коде: RCC->AHB2LPENR.
| 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 |
| — | OTGFSLPEN | RNGLPEN | HASHLPEN | CRYPLPEN | — | DCMILPEN | |||||||||
- OTGFSLPEN (бит 7) — Тактирование USB OTG FS в режиме сна.
- RNGLPEN (бит 6) — Тактирование генератора случайных чисел RNG в режиме сна.
- HASHLPEN (бит 5) — Тактирование блока HASH в режиме сна (только у STM32F415, STM32F417, STM32F437, STM32F439).
- CRYPLPEN (бит 4) — Тактирование блока шифрования CRYP в режиме сна (только у STM32F415, STM32F417, STM32F437, STM32F439).
- DCMILPEN (бит 0) — Тактирование интерфейса камеры DCMI в режиме сна (только у STM32F407, STM32F417, STM32F427, STM32F429, STM32F437, STM32F439).
RCC_AHB3LPENR — тактирование AHB3 в режиме сна
Смещение 0x58, адрес 0x4002 3858, 32 бит, после сброса 0x0000 0001. В коде: RCC->AHB3LPENR.
| 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 |
| — | FSMCLPEN | ||||||||||||||
- FSMCLPEN (бит 0) — Тактирование FSMC в режиме сна (только у STM32F405, STM32F407, STM32F415, STM32F417).
- FMCLPEN (бит 0) — Тактирование FMC в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
RCC_APB1LPENR — тактирование APB1 в режиме сна
Смещение 0x60, адрес 0x4002 3860, 32 бит, после сброса STM32F427, STM32F429, STM32F437, STM32F439: 0xF6FE C9FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x36FE C9FF. В коде: RCC->APB1LPENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| UART8LPEN | UART7LPEN | DACLPEN | PWRLPEN | — | CAN2LPEN | CAN1LPEN | — | I2C3LPEN | I2C2LPEN | I2C1LPEN | UART5LPEN | UART4LPEN | USART3LPEN | USART2LPEN | — |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SPI3LPEN | SPI2LPEN | — | WWDGLPEN | — | TIM14LPEN | TIM13LPEN | TIM12LPEN | TIM7LPEN | TIM6LPEN | TIM5LPEN | TIM4LPEN | TIM3LPEN | TIM2LPEN | ||
- UART8LPEN (бит 31) — Тактирование UART8 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- UART7LPEN (бит 30) — Тактирование UART7 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- DACLPEN (бит 29) — Тактирование ЦАП в режиме сна.
- PWRLPEN (бит 28) — Тактирование интерфейса управления питанием PWR в режиме сна.
- CAN2LPEN (бит 26) — Тактирование CAN2 в режиме сна.
- CAN1LPEN (бит 25) — Тактирование CAN1 в режиме сна.
- I2C3LPEN (бит 23) — Тактирование I2C3 в режиме сна.
- I2C2LPEN (бит 22) — Тактирование I2C2 в режиме сна.
- I2C1LPEN (бит 21) — Тактирование I2C1 в режиме сна.
- UART5LPEN (бит 20) — Тактирование UART5 в режиме сна.
- UART4LPEN (бит 19) — Тактирование UART4 в режиме сна.
- USART3LPEN (бит 18) — Тактирование USART3 в режиме сна.
- USART2LPEN (бит 17) — Тактирование USART2 в режиме сна.
- SPI3LPEN (бит 15) — Тактирование SPI3 в режиме сна.
- SPI2LPEN (бит 14) — Тактирование SPI2 в режиме сна.
- WWDGLPEN (бит 11) — Тактирование оконного сторожевого таймера WWDG в режиме сна.
- TIM14LPEN (бит 8) — Тактирование таймера TIM14 в режиме сна.
- TIM13LPEN (бит 7) — Тактирование таймера TIM13 в режиме сна.
- TIM12LPEN (бит 6) — Тактирование таймера TIM12 в режиме сна.
- TIM7LPEN (бит 5) — Тактирование таймера TIM7 в режиме сна.
- TIM6LPEN (бит 4) — Тактирование таймера TIM6 в режиме сна.
- TIM5LPEN (бит 3) — Тактирование таймера TIM5 в режиме сна.
- TIM4LPEN (бит 2) — Тактирование таймера TIM4 в режиме сна.
- TIM3LPEN (бит 1) — Тактирование таймера TIM3 в режиме сна.
- TIM2LPEN (бит 0) — Тактирование таймера TIM2 в режиме сна.
RCC_APB2LPENR — тактирование APB2 в режиме сна
Смещение 0x64, адрес 0x4002 3864, 32 бит, после сброса STM32F427, STM32F429, STM32F437, STM32F439: 0x0477 7F33; STM32F405, STM32F407, STM32F415, STM32F417: 0x0007 5F33. В коде: RCC->APB2LPENR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | LTDCLPEN | — | SAI1LPEN | SPI6LPEN | SPI5LPEN | — | TIM11LPEN | TIM10LPEN | TIM9LPEN | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | SYSCFGLPEN | SPI4LPEN | SPI1LPEN | SDIOLPEN | ADC3LPEN | ADC2LPEN | ADC1LPEN | — | USART6LPEN | USART1LPEN | — | TIM8LPEN | TIM1LPEN | ||
- LTDCLPEN (бит 26) — Тактирование контроллера дисплея LTDC в режиме сна (только у STM32F429, STM32F439).
- SAI1LPEN (бит 22) — Тактирование SAI1 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI6LPEN (бит 21) — Тактирование SPI6 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI5LPEN (бит 20) — Тактирование SPI5 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- TIM11LPEN (бит 18) — Тактирование таймера TIM11 в режиме сна.
- TIM10LPEN (бит 17) — Тактирование таймера TIM10 в режиме сна.
- TIM9LPEN (бит 16) — Тактирование таймера TIM9 в режиме сна.
- SYSCFGLPEN (бит 14) — Тактирование SYSCFG в режиме сна.
- SPI4LPEN (бит 13) — Тактирование SPI4 в режиме сна (только у STM32F427, STM32F429, STM32F437, STM32F439).
- SPI1LPEN (бит 12) — Тактирование SPI1 в режиме сна.
- SDIOLPEN (бит 11) — Тактирование SDIO в режиме сна.
- ADC3LPEN (бит 10) — Тактирование АЦП3 в режиме сна.
- ADC2LPEN (бит 9) — Тактирование АЦП2 в режиме сна.
- ADC1LPEN (бит 8) — Тактирование АЦП1 в режиме сна.
- USART6LPEN (бит 5) — Тактирование USART6 в режиме сна.
- USART1LPEN (бит 4) — Тактирование USART1 в режиме сна.
- TIM8LPEN (бит 1) — Тактирование таймера TIM8 в режиме сна.
- TIM1LPEN (бит 0) — Тактирование таймера TIM1 в режиме сна.
RCC_BDCR — резервный домен: LSE и часы RTC
Смещение 0x70, адрес 0x4002 3870, 32 бит, после сброса 0x0000 0000 (сбрасывается сбросом домена резервного питания). В коде: RCC->BDCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | BDRST | ||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RTCEN | — | RTCSEL | — | LSEBYP | LSERDY | LSEON | |||||||||
- BDRST (бит 16) — Программный сброс резервного домена.
- RTCEN (бит 15) — Включение часов RTC.
- RTCSEL (биты 9:8) — Источник тактирования часов RTC; меняется только сбросом резервного домена.
RTCSEL Значение 00 Нет тактирования 01 LSE 10 LSI 11 HSE / RTCPRE - LSEBYP (бит 2) — Обход генератора LSE: внешний тактовый сигнал вместо кварца.
- LSERDY (бит 1) — Флаг готовности LSE.
- LSEON (бит 0) — Включение часового генератора LSE.
RCC_CSR — генератор LSI и флаги причины сброса
Смещение 0x74, адрес 0x4002 3874, 32 бит, после сброса 0x0E00 0000 (сбрасывается системным сбросом, флаги сброса — только при включении питания). В коде: RCC->CSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| LPWRRSTF | WWDGRSTF | IWDGRSTF | SFTRSTF | PORRSTF | PINRSTF | BORRSTF | RMVF | — | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | LSIRDY | LSION | |||||||||||||
- LPWRRSTF (бит 31) — Причина сброса: вход в режим пониженного потребления.
- WWDGRSTF (бит 30) — Причина сброса: оконный сторожевой таймер WWDG.
- IWDGRSTF (бит 29) — Причина сброса: независимый сторожевой таймер IWDG.
- SFTRSTF (бит 28) — Причина сброса: программный сброс.
- PORRSTF (бит 27) — Причина сброса: включение питания (POR/PDR).
- PINRSTF (бит 26) — Причина сброса: вывод NRST.
- BORRSTF (бит 25) — Причина сброса: включение или снижение питания (POR/PDR или BOR).
- RMVF (бит 24) — Сброс флагов причины сброса: запись 1.
- LSIRDY (бит 1) — Флаг готовности LSI.
- LSION (бит 0) — Включение внутреннего генератора LSI.
RCC_SSCGR — модуляция частоты PLL с расширением спектра
Смещение 0x80, адрес 0x4002 3880, 32 бит, после сброса 0x0000 0000. В коде: RCC->SSCGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| SSCGEN | SPREADSEL | — | INCSTEP | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| INCSTEP | MODPER | ||||||||||||||
- SSCGEN (бит 31) — Включение модуляции частоты PLL с расширением спектра.
- SPREADSEL (бит 30) — Вид модуляции: центральная или вниз от номинала.
SPREADSEL Значение 0 Центральная 1 Вниз от номинала - INCSTEP (биты 27:13) — Шаг приращения — задаёт амплитуду модуляции.
- MODPER (биты 12:0) — Период модуляции.
RCC_PLLI2SCFGR — pLLI2S: тактирование I2S и SAI1
Смещение 0x84, адрес 0x4002 3884, 32 бит, после сброса STM32F427, STM32F429, STM32F437, STM32F439: 0x2400 3000; STM32F405, STM32F407, STM32F415, STM32F417: 0x2000 3000. В коде: RCC->PLLI2SCFGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PLLI2SR | PLLI2SQ | — | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PLLI2SN | — | |||||||||||||
- PLLI2SR (биты 30:28) — Делитель VCO PLLI2S для I2S, 2…7: частота I2S — не выше 192 МГц.
- PLLI2SQ (биты 27:24) — Делитель VCO PLLI2S для SAI1, 2…15 (только у STM32F427, STM32F429, STM32F437, STM32F439).
- PLLI2SN (биты 14:6) — Множитель VCO PLLI2S, 50…432: выход VCO — 100–432 МГц.
RCC_PLLSAICFGR — pLLSAI: тактирование SAI1 и дисплея LTDC
Смещение 0x88, адрес 0x4002 3888, 32 бит, после сброса 0x2400 3000; регистр есть только у STM32F427, STM32F429, STM32F437, STM32F439. В коде: RCC->PLLSAICFGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | PLLSAIR | PLLSAIQ | — | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PLLSAIN | — | |||||||||||||
- PLLSAIR (биты 30:28) — Делитель VCO PLLSAI для контроллера дисплея LTDC, 2…7.
- PLLSAIQ (биты 27:24) — Делитель VCO PLLSAI для SAI1, 2…15.
- PLLSAIN (биты 14:6) — Множитель VCO PLLSAI, 50…432: выход VCO — 100–432 МГц.
RCC_DCKCFGR — таймеры, источники SAI1 и делители LCD
Смещение 0x8C, адрес 0x4002 388C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32F427, STM32F429, STM32F437, STM32F439. В коде: RCC->DCKCFGR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | TIMPRE | SAI1BSRC | SAI1ASRC | — | PLLSAIDIVR | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | PLLSAIDIVQ | — | PLLI2SDIVQ | ||||||||||||
- TIMPRE (бит 24) — Частота таймеров: удвоенная или учетверённая частота шины APB, не выше HCLK.
TIMPRE Значение 0 При делителе APB 1 — PCLK, иначе 2 × PCLK 1 При делителе APB 1, 2 или 4 — HCLK, иначе 4 × PCLK - SAI1BSRC (биты 23:22) — Источник тактирования блока B интерфейса SAI1.
SAI1BSRC Значение 00 Выход Q PLLSAI / PLLSAIDIVQ 01 Выход Q PLLI2S / PLLI2SDIVQ 10 Внешний сигнал I2S_CKIN 11 Недопустимо - SAI1ASRC (биты 21:20) — Источник тактирования блока A интерфейса SAI1.
SAI1ASRC Значение 00 Выход Q PLLSAI / PLLSAIDIVQ 01 Выход Q PLLI2S / PLLI2SDIVQ 10 Внешний сигнал I2S_CKIN 11 Недопустимо - PLLSAIDIVR (биты 17:16) — Делитель частоты LCD_CLK после выхода R PLLSAI.
PLLSAIDIVR Значение 00 Деление на 2 01 Деление на 4 10 Деление на 8 11 Деление на 16 - PLLSAIDIVQ (биты 12:8) — Делитель после выхода Q PLLSAI для SAI1: деление на код + 1 (1…32).
- PLLI2SDIVQ (биты 4:0) — Делитель после выхода Q PLLI2S для SAI1: деление на код + 1 (1…32).
Частые вопросы
Как включить тактирование порта GPIOA в STM32F4?
Установите бит GPIOAEN в регистре RCC_AHB1ENR: RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN. Порты у STM32F4 на шине AHB1, а не на APB2, как у STM32F1. USART1 и USART6 тактируются через RCC_APB2ENR, USART2 и USART3 — через RCC_APB1ENR.
Почему USB не работает при 168 МГц?
USB OTG FS нужно ровно 48 МГц с выхода PLL48CK: частота VCO, делённая на PLLQ. С VCO 336 МГц это PLLQ = 7. При другом VCO, например 360 МГц для 180 МГц у STM32F429, ровные 48 МГц не получатся — для USB выбирают другую частоту ядра.
Что такое TIMPRE?
Бит регистра RCC_DCKCFGR у STM32F42x/43x. Обычно таймеры получают удвоенную частоту своей шины APB, если её делитель больше 1. С TIMPRE = 1 при делителе 1, 2 или 4 таймеры работают на частоте HCLK, а при большем делителе — на учетверённой частоте шины.
Источники
- STMicroelectronics. RM0090: Reference manual (Rev 22) — раздел 6.3 (STM32F42x/43x) и 7.3 (STM32F405/407): описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f4 v2.6.11: заголовки CMSIS stm32f405xx.h, stm32f407xx.h, stm32f415xx.h, stm32f417xx.h, stm32f427xx.h, stm32f429xx.h, stm32f437xx.h, stm32f439xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F4
- Все регистры STM32F4Блоки периферии и заголовки CMSIS
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- SYSCFG — системная конфигурацияSYSCFG_MEMRMP, SYSCFG_PMC, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_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_LISR, DMA_HISR, DMA_LIFCR, DMA_HIFCR, DMA_SxCR, DMA_SxNDT
- 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, DBGMCU_APB1_FZ, DBGMCU_APB2_FZ
- PWR — управление питаниемPWR_CR, PWR_CSR
- FLASH — интерфейс флеш-памятиFLASH_ACR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR, FLASH_OPTCR
- RTC — часы реального времениRTC_TR, RTC_DR, RTC_CR, RTC_ISR, RTC_PRER, RTC_WUTR
- 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