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

Регистры RCC STM32F4

Регистры RCC STM32F4: генераторы HSI и HSE, главный PLL с делителями M, N, P и Q, PLLI2S и PLLSAI для звука и дисплея, делители шин AHB, APB1 и APB2, выходы MCO, тактирование и сброс периферии, часы RTC.

Системную частоту 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 оставляют блоку тактирование в режиме сна — после сброса почти все они установлены.

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

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

РегистрСмещениеНазначениеПосле сброса
RCC_CR0x00Управление генераторами и PLL0x0000 XX83 (X — не определено)
RCC_PLLCFGR0x04Главный PLL: делители M, P, Q и множитель N0x2400 3010
RCC_CFGR0x08Выбор SYSCLK, делители шин, выход MCO0x0000 0000
RCC_CIR0x0CПрерывания готовности генераторов0x0000 0000
RCC_AHB1RSTR0x10Сброс периферии шины AHB10x0000 0000
RCC_AHB2RSTR0x14Сброс периферии шины AHB20x0000 0000
RCC_AHB3RSTR0x18Сброс контроллера внешней памяти (AHB3)0x0000 0000
RCC_APB1RSTR0x20Сброс периферии шины APB10x0000 0000
RCC_APB2RSTR0x24Сброс периферии шины APB20x0000 0000
RCC_AHB1ENR0x30Тактирование периферии шины AHB10x0010 0000
RCC_AHB2ENR0x34Тактирование периферии шины AHB20x0000 0000
RCC_AHB3ENR0x38Тактирование контроллера внешней памяти (AHB3)0x0000 0000
RCC_APB1ENR0x40Тактирование периферии шины APB10x0000 0000
RCC_APB2ENR0x44Тактирование периферии шины APB20x0000 0000
RCC_AHB1LPENR0x50Тактирование AHB1 в режиме снаSTM32F427, STM32F429, STM32F437, STM32F439: 0x7EEF 97FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x7E67 91FF
RCC_AHB2LPENR0x54Тактирование AHB2 в режиме сна0x0000 00F1
RCC_AHB3LPENR0x58Тактирование AHB3 в режиме сна0x0000 0001
RCC_APB1LPENR0x60Тактирование APB1 в режиме снаSTM32F427, STM32F429, STM32F437, STM32F439: 0xF6FE C9FF; STM32F405, STM32F407, STM32F415, STM32F417: 0x36FE C9FF
RCC_APB2LPENR0x64Тактирование APB2 в режиме снаSTM32F427, STM32F429, STM32F437, STM32F439: 0x0477 7F33; STM32F405, STM32F407, STM32F415, STM32F417: 0x0007 5F33
RCC_BDCR0x70Резервный домен: LSE и часы RTC0x0000 0000 (сбрасывается сбросом домена резервного питания)
RCC_CSR0x74Генератор LSI и флаги причины сброса0x0E00 0000 (сбрасывается системным сбросом, флаги сброса — только при включении питания)
RCC_SSCGR0x80Модуляция частоты PLL с расширением спектра0x0000 0000
RCC_PLLI2SCFGR0x84PLLI2S: тактирование I2S и SAI1STM32F427, STM32F429, STM32F437, STM32F439: 0x2400 3000; STM32F405, STM32F407, STM32F415, STM32F417: 0x2000 3000
RCC_PLLSAICFGR0x88PLLSAI: тактирование SAI1 и дисплея LTDC0x2400 3000
RCC_DCKCFGR0x8CТаймеры, источники SAI1 и делители LCD0x0000 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.

31302928272625242322212019181716
—PLLSAIRDYPLLSAIONPLLI2SRDYPLLI2SONPLLRDYPLLON—CSSONHSEBYPHSERDYHSEON
1514131211109876543210
HSICALHSITRIM—HSIRDYHSION
  • 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.

31302928272625242322212019181716
—PLLQ—PLLSRC—PLLP
1514131211109876543210
—PLLNPLLM
  • PLLQ (биты 27:24) — Делитель VCO для USB OTG FS, SDIO и RNG, 2…15: USB нужно ровно 48 МГц.
  • PLLSRC (бит 22) — Источник главного PLL и PLLI2S: HSI или HSE; меняется при выключенных PLL.
    PLLSRCЗначениеМакрос CMSIS
    0HSIRCC_PLLCFGR_PLLSRC_HSI
    1HSERCC_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.

31302928272625242322212019181716
MCO2MCO2PREMCO1PREI2SSRCMCO1RTCPRE
1514131211109876543210
PPRE2PPRE1—HPRESWSSW
  • MCO2 (биты 31:30) — Сигнал на выходе MCO2 (вывод PC9), не выше 100 МГц.
    MCO2Значение
    00SYSCLK
    01PLLI2S
    10HSE
    11PLL
  • 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Значение
    0PLLI2S
    1Внешний сигнал на выводе I2S_CKIN
  • MCO1 (биты 22:21) — Сигнал на выходе MCO1 (вывод PA8), не выше 100 МГц.
    MCO1Значение
    00HSI
    01LSE
    10HSE
    11PLL
  • RTCPRE (биты 20:16) — Делитель HSE для часов RTC, 2…31: часам нужен 1 МГц; 0 и 1 — нет сигнала.
  • PPRE2 (биты 15:13) — Делитель шины APB2: PCLK2 = HCLK / делитель.
    PPRE2ЗначениеМакрос CMSIS
    000Без деленияRCC_CFGR_PPRE2_DIV1
    100Деление на 2RCC_CFGR_PPRE2_DIV2
    101Деление на 4RCC_CFGR_PPRE2_DIV4
    110Деление на 8RCC_CFGR_PPRE2_DIV8
    111Деление на 16RCC_CFGR_PPRE2_DIV16
  • PPRE1 (биты 12:10) — Делитель шины APB1: PCLK1 = HCLK / делитель.
    PPRE1ЗначениеМакрос CMSIS
    000Без деленияRCC_CFGR_PPRE1_DIV1
    100Деление на 2RCC_CFGR_PPRE1_DIV2
    101Деление на 4RCC_CFGR_PPRE1_DIV4
    110Деление на 8RCC_CFGR_PPRE1_DIV8
    111Деление на 16RCC_CFGR_PPRE1_DIV16
  • HPRE (биты 7:4) — Делитель шины AHB: HCLK = SYSCLK / делитель.
    HPREЗначениеМакрос CMSIS
    0000Без деленияRCC_CFGR_HPRE_DIV1
    1000Деление на 2RCC_CFGR_HPRE_DIV2
    1001Деление на 4RCC_CFGR_HPRE_DIV4
    1010Деление на 8RCC_CFGR_HPRE_DIV8
    1011Деление на 16RCC_CFGR_HPRE_DIV16
    1100Деление на 64RCC_CFGR_HPRE_DIV64
    1101Деление на 128RCC_CFGR_HPRE_DIV128
    1110Деление на 256RCC_CFGR_HPRE_DIV256
    1111Деление на 512RCC_CFGR_HPRE_DIV512
  • SWS (биты 3:2) — Источник SYSCLK в данный момент (только чтение).
    SWSЗначениеМакрос CMSIS
    00HSIRCC_CFGR_SWS_HSI
    01HSERCC_CFGR_SWS_HSE
    10PLLRCC_CFGR_SWS_PLL
  • SW (биты 1:0) — Источник системной частоты SYSCLK.
    SWЗначениеМакрос CMSIS
    00HSIRCC_CFGR_SW_HSI
    01HSERCC_CFGR_SW_HSE
    10PLLRCC_CFGR_SW_PLL

RCC_CIR — прерывания готовности генераторов

Смещение 0x0C, адрес 0x4002 380C, 32 бит, после сброса 0x0000 0000. В коде: RCC->CIR.

31302928272625242322212019181716
—CSSCPLLSAIRDYCPLLI2SRDYCPLLRDYCHSERDYCHSIRDYCLSERDYCLSIRDYC
1514131211109876543210
—PLLSAIRDYIEPLLI2SRDYIEPLLRDYIEHSERDYIEHSIRDYIELSERDYIELSIRDYIECSSFPLLSAIRDYFPLLI2SRDYFPLLRDYFHSERDYFHSIRDYFLSERDYFLSIRDYF
  • 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.

31302928272625242322212019181716
—OTGHRST—ETHMACRST—DMA2DRSTDMA2RSTDMA1RST—
1514131211109876543210
—CRCRST—GPIOKRSTGPIOJRSTGPIOIRSTGPIOHRSTGPIOGRSTGPIOFRSTGPIOERSTGPIODRSTGPIOCRSTGPIOBRSTGPIOARST
  • 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.

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

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

31302928272625242322212019181716
UART8RSTUART7RSTDACRSTPWRRST—CAN2RSTCAN1RST—I2C3RSTI2C2RSTI2C1RSTUART5RSTUART4RSTUSART3RSTUSART2RST—
1514131211109876543210
SPI3RSTSPI2RST—WWDGRST—TIM14RSTTIM13RSTTIM12RSTTIM7RSTTIM6RSTTIM5RSTTIM4RSTTIM3RSTTIM2RST
  • 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.

31302928272625242322212019181716
—LTDCRST—SAI1RSTSPI6RSTSPI5RST—TIM11RSTTIM10RSTTIM9RST
1514131211109876543210
—SYSCFGRSTSPI4RSTSPI1RSTSDIORST—ADCRST—USART6RSTUSART1RST—TIM8RSTTIM1RST
  • 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.

31302928272625242322212019181716
—OTGHSULPIENOTGHSENETHMACPTPENETHMACRXENETHMACTXENETHMACEN—DMA2DENDMA2ENDMA1ENCCMDATARAMEN—BKPSRAMEN—
1514131211109876543210
—CRCEN—GPIOKENGPIOJENGPIOIENGPIOHENGPIOGENGPIOFENGPIOEENGPIODENGPIOCENGPIOBENGPIOAEN
  • 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.

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

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

31302928272625242322212019181716
UART8ENUART7ENDACENPWREN—CAN2ENCAN1EN—I2C3ENI2C2ENI2C1ENUART5ENUART4ENUSART3ENUSART2EN—
1514131211109876543210
SPI3ENSPI2EN—WWDGEN—TIM14ENTIM13ENTIM12ENTIM7ENTIM6ENTIM5ENTIM4ENTIM3ENTIM2EN
  • 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.

31302928272625242322212019181716
—LTDCEN—SAI1ENSPI6ENSPI5EN—TIM11ENTIM10ENTIM9EN
1514131211109876543210
—SYSCFGENSPI4ENSPI1ENSDIOENADC3ENADC2ENADC1EN—USART6ENUSART1EN—TIM8ENTIM1EN
  • 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.

31302928272625242322212019181716
—OTGHSULPILPENOTGHSLPENETHMACPTPLPENETHMACRXLPENETHMACTXLPENETHMACLPEN—DMA2DLPENDMA2LPENDMA1LPEN—SRAM3LPENBKPSRAMLPENSRAM2LPENSRAM1LPEN
1514131211109876543210
FLITFLPEN—CRCLPEN—GPIOKLPENGPIOJLPENGPIOILPENGPIOHLPENGPIOGLPENGPIOFLPENGPIOELPENGPIODLPENGPIOCLPENGPIOBLPENGPIOALPEN
  • 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.

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

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

31302928272625242322212019181716
UART8LPENUART7LPENDACLPENPWRLPEN—CAN2LPENCAN1LPEN—I2C3LPENI2C2LPENI2C1LPENUART5LPENUART4LPENUSART3LPENUSART2LPEN—
1514131211109876543210
SPI3LPENSPI2LPEN—WWDGLPEN—TIM14LPENTIM13LPENTIM12LPENTIM7LPENTIM6LPENTIM5LPENTIM4LPENTIM3LPENTIM2LPEN
  • 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.

31302928272625242322212019181716
—LTDCLPEN—SAI1LPENSPI6LPENSPI5LPEN—TIM11LPENTIM10LPENTIM9LPEN
1514131211109876543210
—SYSCFGLPENSPI4LPENSPI1LPENSDIOLPENADC3LPENADC2LPENADC1LPEN—USART6LPENUSART1LPEN—TIM8LPENTIM1LPEN
  • 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.

31302928272625242322212019181716
—BDRST
1514131211109876543210
RTCEN—RTCSEL—LSEBYPLSERDYLSEON
  • BDRST (бит 16) — Программный сброс резервного домена.
  • RTCEN (бит 15) — Включение часов RTC.
  • RTCSEL (биты 9:8) — Источник тактирования часов RTC; меняется только сбросом резервного домена.
    RTCSELЗначение
    00Нет тактирования
    01LSE
    10LSI
    11HSE / RTCPRE
  • LSEBYP (бит 2) — Обход генератора LSE: внешний тактовый сигнал вместо кварца.
  • LSERDY (бит 1) — Флаг готовности LSE.
  • LSEON (бит 0) — Включение часового генератора LSE.

RCC_CSR — генератор LSI и флаги причины сброса

Смещение 0x74, адрес 0x4002 3874, 32 бит, после сброса 0x0E00 0000 (сбрасывается системным сбросом, флаги сброса — только при включении питания). В коде: RCC->CSR.

31302928272625242322212019181716
LPWRRSTFWWDGRSTFIWDGRSTFSFTRSTFPORRSTFPINRSTFBORRSTFRMVF—
1514131211109876543210
—LSIRDYLSION
  • 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.

31302928272625242322212019181716
SSCGENSPREADSEL—INCSTEP
1514131211109876543210
INCSTEPMODPER
  • 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.

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

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

31302928272625242322212019181716
—TIMPRESAI1BSRCSAI1ASRC—PLLSAIDIVR
1514131211109876543210
—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, а при большем делителе — на учетверённой частоте шины.

Источники

  1. STMicroelectronics. RM0090: Reference manual (Rev 22) — раздел 6.3 (STM32F42x/43x) и 7.3 (STM32F405/407): описание регистров, назначение полей и значения после сброса
  2. 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

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