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

Регистры RCC STM32L4

Регистры RCC STM32L4: генераторы MSI, HSI16, HSE, HSI48, LSE и LSI, основная PLL и PLLSAI1, PLLSAI2, делители шин AHB, APB1 и APB2, выход MCO, источники тактирования периферии, тактирование в Sleep и Stop, причина сброса.

После сброса STM32L4 работает от MSI 4 МГц. MSI перестраивается полем MSIRANGE от 100 кГц до 48 МГц и умеет подстраиваться по LSE (MSIPLLEN) — тогда его точности хватает и для USB. До 80 МГц частоту поднимает PLL: вход MSI, HSI16 или HSE, общий для всех PLL делитель M от 1 до 8, множитель N от 8 до 86, системная частота — с выхода R (RM0351, раздел 6.4).

PLLSAI1 и PLLSAI2 тактируют SAI, АЦП и 48 МГц для USB, RNG и SDMMC; источники периферии выбираются в RCC_CCIPR. Выше 26 МГц ядру нужен диапазон Range 1 (PWR_CR1.VOS), а флеш-памяти — такты ожидания по частоте. Бит STOPWUCK выбирает, с какого генератора — MSI или HSI16 — микроконтроллер стартует после Stop.

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

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

РегистрСмещениеНазначениеПосле сброса
RCC_CR0x00Тактовые генераторы MSI, HSI16, HSE, PLL, PLLSAI1 и PLLSAI20x0000 0063 (при включении питания; другие сбросы дают то же, кроме бита HSEBYP — он сохраняется)
RCC_ICSCR0x04Калибровка и подстройка MSI и HSI160x10XX 00XX (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x40XX 00XX; X — заводская калибровка)
RCC_CFGR0x08Источник SYSCLK, делители шин и вывод MCO0x0000 0000
RCC_PLLCFGR0x0CНастройка PLL: источник, M, N, P, Q, R0x0000 1000
RCC_PLLSAI1CFGR0x10Настройка PLLSAI1: N, P, Q, R0x0000 1000
RCC_PLLSAI2CFGR0x14Настройка PLLSAI2: N, P, R0x0000 1000
RCC_CIER0x18Разрешение прерываний готовности генераторов0x0000 0000
RCC_CIFR0x1CФлаги прерываний генераторов0x0000 0000
RCC_CICR0x20Сброс флагов прерываний генераторов0x0000 0000
RCC_AHB1RSTR0x28Сброс блоков на шине AHB10x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280)
RCC_AHB2RSTR0x2CСброс блоков на шине AHB20x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280)
RCC_AHB3RSTR0x30Сброс блоков на шине AHB30x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280)
RCC_APB1RSTR10x38Сброс блоков на шине APB1, регистр 10x0000 0000
RCC_APB1RSTR20x3CСброс блоков на шине APB1, регистр 20x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280)
RCC_APB2RSTR0x40Сброс блоков на шине APB20x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280)
RCC_AHB1ENR0x48Тактирование блоков на шине AHB10x0000 0100
RCC_AHB2ENR0x4CТактирование блоков на шине AHB20x0000 0000
RCC_AHB3ENR0x50Тактирование блоков на шине AHB30x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 281)
RCC_APB1ENR10x58Тактирование блоков на шине APB1, регистр 10x0000 0000 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0000 0400)
RCC_APB1ENR20x5CТактирование блоков на шине APB1, регистр 20x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 281)
RCC_APB2ENR0x60Тактирование блоков на шине APB20x0000 0000
RCC_AHB1SMENR0x68Тактирование блоков в режимах Sleep и Stop на шине AHB10x0001 1303 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0003 1303; в Rev 11 раздел 6.4.22 озаглавлен RCC_BDCR, но смещение 0x68 и биты — регистра RCC_AHB1SMENR)
RCC_AHB2SMENR0x6CТактирование блоков в режимах Sleep и Stop на шине AHB20x0005 32FF (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0007 73FF)
RCC_AHB3SMENR0x70Тактирование блоков в режимах Sleep и Stop на шине AHB30x0000 0101 (в описании регистра напечатано 0x00000 0101; значение — по карте регистров на с. 282)
RCC_APB1SMENR10x78Тактирование блоков в режимах Sleep и Stop на шине APB1, регистр 10xF2FE CA3F (у STM32L47x/L48x; у STM32L49x/L4Ax — 0xF7FE CE3F)
RCC_APB1SMENR20x7CТактирование блоков в режимах Sleep и Stop на шине APB1, регистр 20x0000 0025 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0000 0027)
RCC_APB2SMENR0x80Тактирование блоков в режимах Sleep и Stop на шине APB20x0167 7C01
RCC_CCIPR0x88Источники тактирования периферии0x0000 0000
RCC_BDCR0x90Резервный домен: LSE, тактирование RTC и вывод LSCO0x0000 0000
RCC_CSR0x94Генератор LSI, диапазон MSI после Standby и флаги сброса0x0C00 0600 (сбрасывается системным сбросом, флаги сброса — только при включении питания)
RCC_CRRCR0x98Генератор HSI48 и его калибровка0x0000 XXX0 (X — заводская калибровка)
RCC_CCIPR20x9CИсточники тактирования периферии, регистр 20x0000 0000

Конструктор значения

Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.

Значение: 0x00000063

0000 0000 0000 0000 0000 0000 0110 0011

RCC->CR = 0x00000063;

RCC_CR — тактовые генераторы MSI, HSI16, HSE, PLL, PLLSAI1 и PLLSAI2

Смещение 0x00, адрес 0x4002 1000, 32 бит, после сброса 0x0000 0063 (при включении питания; другие сбросы дают то же, кроме бита HSEBYP — он сохраняется). В коде: RCC->CR.

31302928272625242322212019181716
—PLLSAI2RDYPLLSAI2ONPLLSAI1RDYPLLSAI1ONPLLRDYPLLON—CSSONHSEBYPHSERDYHSEON
1514131211109876543210
—HSIASFSHSIRDYHSIKERONHSIONMSIRANGEMSIRGSELMSIPLLENMSIRDYMSION
  • PLLSAI2RDY (бит 29) — PLLSAI2 захватила частоту (только чтение).
  • PLLSAI2ON (бит 28) — Включение PLLSAI2; сбрасывается при входе в Stop, Standby и Shutdown.
  • PLLSAI1RDY (бит 27) — PLLSAI1 захватила частоту (только чтение).
  • PLLSAI1ON (бит 26) — Включение PLLSAI1; сбрасывается при входе в Stop, Standby и Shutdown.
  • PLLRDY (бит 25) — PLL захватила частоту (только чтение).
  • PLLON (бит 24) — Включение PLL; сбрасывается при входе в Stop, Standby и Shutdown.
  • CSSON (бит 19) — Система защиты тактирования: при отказе HSE — переход на HSI16, прерывание NMI и сигнал аварийного останова таймеров.
  • HSEBYP (бит 18) — Обход генератора HSE: внешний тактовый сигнал вместо кварца.
  • HSERDY (бит 17) — Генератор HSE готов (только чтение).
  • HSEON (бит 16) — Включение генератора HSE.
  • HSIASFS (бит 11) — Автозапуск HSI16 при выходе из Stop, когда такт пробуждения — MSI.
  • HSIRDY (бит 10) — Генератор HSI16 готов (только чтение).
  • HSIKERON (бит 9) — HSI16 работает в режиме Stop для периферии, которая от него тактируется.
  • HSION (бит 8) — Включение генератора HSI16.
  • MSIRANGE (биты 7:4) — Частота MSI: 100 кГц…48 МГц, меняется при MSIRGSEL = 1.
  • MSIRGSEL (бит 3) — Откуда берётся диапазон MSI: из MSISRANGE (RCC_CSR) или из MSIRANGE.
  • MSIPLLEN (бит 2) — Автоподстройка MSI по LSE (режим PLL): точность MSI задаёт кварц 32,768 кГц.
  • MSIRDY (бит 1) — Генератор MSI готов (только чтение).
  • MSION (бит 0) — Включение генератора MSI.

RCC_ICSCR — калибровка и подстройка MSI и HSI16

Смещение 0x04, адрес 0x4002 1004, 32 бит, после сброса 0x10XX 00XX (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x40XX 00XX; X — заводская калибровка). В коде: RCC->ICSCR.

31302928272625242322212019181716
—HSITRIMHSICAL
1514131211109876543210
MSITRIMMSICAL
  • HSITRIM (биты 30:24) — Подстройка частоты HSI16 поверх заводской калибровки HSICAL (только у STM32L496, STM32L4A6).
  • HSITRIM (биты 28:24) — Подстройка частоты HSI16 поверх заводской калибровки HSICAL (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
  • HSICAL (биты 23:16) — Заводская калибровка HSI16 (только чтение).
  • MSITRIM (биты 15:8) — Подстройка частоты MSI поверх заводской калибровки.
  • MSICAL (биты 7:0) — Заводская калибровка MSI (только чтение).

RCC_CFGR — источник SYSCLK, делители шин и вывод MCO

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

31302928272625242322212019181716
—MCOPREMCOSEL—
1514131211109876543210
STOPWUCK—PPRE2PPRE1HPRESWSSW
  • MCOPRE (биты 30:28) — Делитель сигнала на выходе MCO.
    MCOPREЗначениеМакрос CMSIS
    000Без деленияRCC_CFGR_MCOPRE_DIV1
    001Деление на 2RCC_CFGR_MCOPRE_DIV2
    010Деление на 4RCC_CFGR_MCOPRE_DIV4
    011Деление на 8RCC_CFGR_MCOPRE_DIV8
    100Деление на 16RCC_CFGR_MCOPRE_DIV16
  • MCOSEL (биты 27:24) — Источник сигнала на выходе MCO (только у STM32L496, STM32L4A6).
  • MCOSEL (биты 26:24) — Источник сигнала на выходе MCO (только у STM32L471, STM32L475, STM32L476, STM32L485, STM32L486).
  • STOPWUCK (бит 15) — Генератор после выхода из Stop: MSI или HSI16.
  • PPRE2 (биты 13:11) — Делитель шины APB2: PCLK2 = HCLK / 1…16.
    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 (биты 10:8) — Делитель шины APB1: PCLK1 = HCLK / 1…16.
    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 / 1…512.
    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
    00MSIRCC_CFGR_SWS_MSI
    01HSI16RCC_CFGR_SWS_HSI
    10HSERCC_CFGR_SWS_HSE
    11PLLRCC_CFGR_SWS_PLL
  • SW (биты 1:0) — Выбор источника SYSCLK.
    SWЗначениеМакрос CMSIS
    00MSIRCC_CFGR_SW_MSI
    01HSI16RCC_CFGR_SW_HSI
    10HSERCC_CFGR_SW_HSE
    11PLL × 2 (до 144 МГц)RCC_CFGR_SW_PLL

RCC_PLLCFGR — настройка PLL: источник, M, N, P, Q, R

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

31302928272625242322212019181716
PLLPDIVPLLRPLLREN—PLLQPLLQEN—PLLPPLLPEN
1514131211109876543210
—PLLN—PLLM—PLLSRC
  • PLLPDIV (биты 31:27) — Делитель выхода P: 2…31; при 0 делитель задаёт бит PLLP (только у STM32L496, STM32L4A6).
  • PLLR (биты 26:25) — Делитель выхода R (PLLRCLK — системная частота): 2, 4, 6 или 8.
  • PLLREN (бит 24) — Включение выхода R PLL.
  • PLLQ (биты 22:21) — Делитель выхода Q PLL: 2, 4, 6 или 8.
  • PLLQEN (бит 20) — Включение выхода Q PLL.
  • PLLP (бит 17) — Делитель выхода P PLL: 7 или 17 (при PDIV = 0).
  • PLLPEN (бит 16) — Включение выхода P PLL.
  • PLLN (биты 14:8) — Множитель N частоты ГУН PLL: 8…86.
  • PLLM (биты 6:4) — Делитель M на входе PLL (общий с PLLSAI1 и PLLSAI2): 1…8.
  • PLLSRC (биты 1:0) — Источник тактирования PLL.
    PLLSRCЗначениеМакрос CMSIS
    01MSIRCC_PLLCFGR_PLLSRC_MSI
    10HSI16RCC_PLLCFGR_PLLSRC_HSI
    11HSERCC_PLLCFGR_PLLSRC_HSE

RCC_PLLSAI1CFGR — настройка PLLSAI1: N, P, Q, R

Смещение 0x10, адрес 0x4002 1010, 32 бит, после сброса 0x0000 1000. В коде: RCC->PLLSAI1CFGR.

31302928272625242322212019181716
PLLSAI1PDIVPLLSAI1RPLLSAI1REN—PLLSAI1QPLLSAI1QEN—PLLSAI1PPLLSAI1PEN
1514131211109876543210
—PLLSAI1N—
  • PLLSAI1PDIV (биты 31:27) — Делитель выхода P PLLSAI1: 2…31; при 0 делитель задаёт бит PLLSAI1P (только у STM32L496, STM32L4A6).
  • PLLSAI1R (биты 26:25) — Делитель выхода R PLLSAI1: 2, 4, 6 или 8.
  • PLLSAI1REN (бит 24) — Включение выхода R PLLSAI1.
  • PLLSAI1Q (биты 22:21) — Делитель выхода Q PLLSAI1: 2, 4, 6 или 8.
  • PLLSAI1QEN (бит 20) — Включение выхода Q PLLSAI1.
  • PLLSAI1P (бит 17) — Делитель выхода P PLLSAI1: 7 или 17 (при PDIV = 0).
  • PLLSAI1PEN (бит 16) — Включение выхода P PLLSAI1.
  • PLLSAI1N (биты 14:8) — Множитель N частоты ГУН PLLSAI1: 8…86.

RCC_PLLSAI2CFGR — настройка PLLSAI2: N, P, R

Смещение 0x14, адрес 0x4002 1014, 32 бит, после сброса 0x0000 1000. В коде: RCC->PLLSAI2CFGR.

31302928272625242322212019181716
PLLSAI2PDIVPLLSAI2RPLLSAI2REN—PLLSAI2PPLLSAI2PEN
1514131211109876543210
—PLLSAI2N—
  • PLLSAI2PDIV (биты 31:27) — Делитель выхода P PLLSAI2: 2…31; при 0 делитель задаёт бит PLLSAI2P (только у STM32L496, STM32L4A6).
  • PLLSAI2R (биты 26:25) — Делитель выхода R PLLSAI2: 2, 4, 6 или 8.
  • PLLSAI2REN (бит 24) — Включение выхода R PLLSAI2.
  • PLLSAI2P (бит 17) — Делитель выхода P PLLSAI2: 7 или 17 (при PDIV = 0).
  • PLLSAI2PEN (бит 16) — Включение выхода P PLLSAI2.
  • PLLSAI2N (биты 14:8) — Множитель N частоты ГУН PLLSAI2: 8…86.

RCC_CIER — разрешение прерываний готовности генераторов

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

31302928272625242322212019181716
—
1514131211109876543210
—HSI48RDYIELSECSSIE—PLLSAI2RDYIEPLLSAI1RDYIEPLLRDYIEHSERDYIEHSIRDYIEMSIRDYIELSERDYIELSIRDYIE
  • HSI48RDYIE (бит 10) — Прерывание по готовности HSI48 (только у STM32L496, STM32L4A6).
  • LSECSSIE (бит 9) — Прерывание по отказу LSE.
  • PLLSAI2RDYIE (бит 7) — Прерывание по готовности PLLSAI2.
  • PLLSAI1RDYIE (бит 6) — Прерывание по готовности PLLSAI1.
  • PLLRDYIE (бит 5) — Прерывание по готовности PLL.
  • HSERDYIE (бит 4) — Прерывание по готовности HSE.
  • HSIRDYIE (бит 3) — Прерывание по готовности HSI.
  • MSIRDYIE (бит 2) — Прерывание по готовности MSI.
  • LSERDYIE (бит 1) — Прерывание по готовности LSE.
  • LSIRDYIE (бит 0) — Прерывание по готовности LSI.

RCC_CIFR — флаги прерываний генераторов

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

31302928272625242322212019181716
—
1514131211109876543210
—HSI48RDYFLSECSSFCSSFPLLSAI2RDYFPLLSAI1RDYFPLLRDYFHSERDYFHSIRDYFMSIRDYFLSERDYFLSIRDYF
  • HSI48RDYF (бит 10) — Флаг прерывания по готовности HSI48 (только у STM32L496, STM32L4A6).
  • LSECSSF (бит 9) — Флаг отказа LSE.
  • CSSF (бит 8) — Флаг отказа HSE (система защиты тактирования).
  • PLLSAI2RDYF (бит 7) — Флаг прерывания по готовности PLLSAI2.
  • PLLSAI1RDYF (бит 6) — Флаг прерывания по готовности PLLSAI1.
  • PLLRDYF (бит 5) — Флаг прерывания по готовности PLL.
  • HSERDYF (бит 4) — Флаг прерывания по готовности HSE.
  • HSIRDYF (бит 3) — Флаг прерывания по готовности HSI.
  • MSIRDYF (бит 2) — Флаг прерывания по готовности MSI.
  • LSERDYF (бит 1) — Флаг прерывания по готовности LSE.
  • LSIRDYF (бит 0) — Флаг прерывания по готовности LSI.

RCC_CICR — сброс флагов прерываний генераторов

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

31302928272625242322212019181716
—
1514131211109876543210
—HSI48RDYCLSECSSCCSSCPLLSAI2RDYCPLLSAI1RDYCPLLRDYCHSERDYCHSIRDYCMSIRDYCLSERDYCLSIRDYC
  • HSI48RDYC (бит 10) — Сброс флага готовности HSI48 записью 1 (только у STM32L496, STM32L4A6).
  • LSECSSC (бит 9) — Сброс флага LSECSSF записью 1.
  • CSSC (бит 8) — Сброс флага CSSF записью 1.
  • PLLSAI2RDYC (бит 7) — Сброс флага готовности PLLSAI2 записью 1.
  • PLLSAI1RDYC (бит 6) — Сброс флага готовности PLLSAI1 записью 1.
  • PLLRDYC (бит 5) — Сброс флага готовности PLL записью 1.
  • HSERDYC (бит 4) — Сброс флага готовности HSE записью 1.
  • HSIRDYC (бит 3) — Сброс флага готовности HSI записью 1.
  • MSIRDYC (бит 2) — Сброс флага готовности MSI записью 1.
  • LSERDYC (бит 1) — Сброс флага готовности LSE записью 1.
  • LSIRDYC (бит 0) — Сброс флага готовности LSI записью 1.

RCC_AHB1RSTR — сброс блоков на шине AHB1

Смещение 0x28, адрес 0x4002 1028, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280). В коде: RCC->AHB1RSTR.

31302928272625242322212019181716
—DMA2DRSTTSCRST
1514131211109876543210
—CRCRST—FLASHRST—DMA2RSTDMA1RST
  • DMA2DRST (бит 17) — Сброс графического ускорителя DMA2D (только у STM32L496, STM32L4A6).
  • TSCRST (бит 16) — Сброс контроллера сенсорных кнопок TSC.
  • CRCRST (бит 12) — Сброс блока CRC.
  • FLASHRST (бит 8) — Сброс интерфейса флеш-памяти.
  • DMA2RST (бит 1) — Сброс DMA2.
  • DMA1RST (бит 0) — Сброс DMA1.

RCC_AHB2RSTR — сброс блоков на шине AHB2

Смещение 0x2C, адрес 0x4002 102C, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280). В коде: RCC->AHB2RSTR.

31302928272625242322212019181716
—RNGRSTHASHRSTAESRST
1514131211109876543210
—DCMIRSTADCRSTOTGFSRST—GPIOIRSTGPIOHRSTGPIOGRSTGPIOFRSTGPIOERSTGPIODRSTGPIOCRSTGPIOBRSTGPIOARST
  • RNGRST (бит 18) — Сброс генератора случайных чисел RNG.
  • HASHRST (бит 17) — Сброс блока хеширования HASH (только у STM32L4A6).
  • AESRST (бит 16) — Сброс блока шифрования AES (только у STM32L485, STM32L486, STM32L4A6).
  • DCMIRST (бит 14) — Сброс интерфейса камеры DCMI (только у STM32L496, STM32L4A6).
  • ADCRST (бит 13) — Сброс АЦП.
  • OTGFSRST (бит 12) — Сброс USB OTG FS.
  • GPIOIRST (бит 8) — Сброс порта I (только у STM32L496, STM32L4A6).
  • GPIOHRST (бит 7) — Сброс порта H.
  • GPIOGRST (бит 6) — Сброс порта G.
  • GPIOFRST (бит 5) — Сброс порта F.
  • GPIOERST (бит 4) — Сброс порта E.
  • GPIODRST (бит 3) — Сброс порта D.
  • GPIOCRST (бит 2) — Сброс порта C.
  • GPIOBRST (бит 1) — Сброс порта B.
  • GPIOARST (бит 0) — Сброс порта A.

RCC_AHB3RSTR — сброс блоков на шине AHB3

Смещение 0x30, адрес 0x4002 1030, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280). В коде: RCC->AHB3RSTR.

31302928272625242322212019181716
—
1514131211109876543210
—QSPIRST—FMCRST
  • QSPIRST (бит 8) — Сброс интерфейса Quad-SPI.
  • FMCRST (бит 0) — Сброс контроллера внешней памяти FMC.

RCC_APB1RSTR1 — сброс блоков на шине APB1, регистр 1

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

31302928272625242322212019181716
LPTIM1RSTOPAMPRSTDAC1RSTPWRRST—CAN2RSTCAN1RSTCRSRSTI2C3RSTI2C2RSTI2C1RSTUART5RSTUART4RSTUSART3RSTUSART2RST—
1514131211109876543210
SPI3RSTSPI2RST—LCDRST—TIM7RSTTIM6RSTTIM5RSTTIM4RSTTIM3RSTTIM2RST
  • LPTIM1RST (бит 31) — Сброс таймера LPTIM1.
  • OPAMPRST (бит 30) — Сброс операционных усилителей.
  • DAC1RST (бит 29) — Сброс ЦАП DAC1.
  • PWRRST (бит 28) — Сброс интерфейса управления питанием PWR.
  • CAN2RST (бит 26) — Сброс bxCAN CAN2 (только у STM32L496, STM32L4A6).
  • CAN1RST (бит 25) — Сброс bxCAN CAN1.
  • CRSRST (бит 24) — Сброс блока подстройки HSI48 (CRS) (только у STM32L496, STM32L4A6).
  • I2C3RST (бит 23) — Сброс I2C3.
  • I2C2RST (бит 22) — Сброс I2C2.
  • I2C1RST (бит 21) — Сброс I2C1.
  • UART5RST (бит 20) — Сброс UART5.
  • UART4RST (бит 19) — Сброс UART4.
  • USART3RST (бит 18) — Сброс USART3.
  • USART2RST (бит 17) — Сброс USART2.
  • SPI3RST (бит 15) — Сброс SPI3.
  • SPI2RST (бит 14) — Сброс SPI2.
  • LCDRST (бит 9) — Сброс контроллера ЖК-индикатора (только у STM32L476, STM32L486, STM32L496, STM32L4A6).
  • TIM7RST (бит 5) — Сброс таймера TIM7.
  • TIM6RST (бит 4) — Сброс таймера TIM6.
  • TIM5RST (бит 3) — Сброс таймера TIM5.
  • TIM4RST (бит 2) — Сброс таймера TIM4.
  • TIM3RST (бит 1) — Сброс таймера TIM3.
  • TIM2RST (бит 0) — Сброс таймера TIM2.

RCC_APB1RSTR2 — сброс блоков на шине APB1, регистр 2

Смещение 0x3C, адрес 0x4002 103C, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280). В коде: RCC->APB1RSTR2.

31302928272625242322212019181716
—
1514131211109876543210
—LPTIM2RST—SWPMI1RSTI2C4RSTLPUART1RST
  • LPTIM2RST (бит 5) — Сброс таймера LPTIM2.
  • SWPMI1RST (бит 2) — Сброс интерфейса SWPMI.
  • I2C4RST (бит 1) — Сброс I2C4 (только у STM32L496, STM32L4A6).
  • LPUART1RST (бит 0) — Сброс LPUART1.

RCC_APB2RSTR — сброс блоков на шине APB2

Смещение 0x40, адрес 0x4002 1040, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 280). В коде: RCC->APB2RSTR.

31302928272625242322212019181716
—DFSDM1RST—SAI2RSTSAI1RST—TIM17RSTTIM16RSTTIM15RST
1514131211109876543210
—USART1RSTTIM8RSTSPI1RSTTIM1RSTSDMMC1RST—SYSCFGRST
  • DFSDM1RST (бит 24) — Сброс цифрового фильтра DFSDM.
  • SAI2RST (бит 22) — Сброс аудиоинтерфейса SAI2.
  • SAI1RST (бит 21) — Сброс аудиоинтерфейса SAI1.
  • TIM17RST (бит 18) — Сброс таймера TIM17.
  • TIM16RST (бит 17) — Сброс таймера TIM16.
  • TIM15RST (бит 16) — Сброс таймера TIM15.
  • USART1RST (бит 14) — Сброс USART1.
  • TIM8RST (бит 13) — Сброс таймера TIM8.
  • SPI1RST (бит 12) — Сброс SPI1.
  • TIM1RST (бит 11) — Сброс таймера TIM1.
  • SDMMC1RST (бит 10) — Сброс интерфейса карт SDMMC.
  • SYSCFGRST (бит 0) — Сброс SYSCFG и компараторов.

RCC_AHB1ENR — тактирование блоков на шине AHB1

Смещение 0x48, адрес 0x4002 1048, 32 бит, после сброса 0x0000 0100. В коде: RCC->AHB1ENR.

31302928272625242322212019181716
—DMA2DENTSCEN
1514131211109876543210
—CRCEN—FLASHEN—DMA2ENDMA1EN
  • DMA2DEN (бит 17) — Тактирование графического ускорителя DMA2D (только у STM32L496, STM32L4A6).
  • TSCEN (бит 16) — Тактирование контроллера сенсорных кнопок TSC.
  • CRCEN (бит 12) — Тактирование блока CRC.
  • FLASHEN (бит 8) — Тактирование интерфейса флеш-памяти.
  • DMA2EN (бит 1) — Тактирование DMA2.
  • DMA1EN (бит 0) — Тактирование DMA1.

RCC_AHB2ENR — тактирование блоков на шине AHB2

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

31302928272625242322212019181716
—RNGENHASHENAESEN
1514131211109876543210
—DCMIENADCENOTGFSEN—GPIOIENGPIOHENGPIOGENGPIOFENGPIOEENGPIODENGPIOCENGPIOBENGPIOAEN
  • RNGEN (бит 18) — Тактирование генератора случайных чисел RNG.
  • HASHEN (бит 17) — Тактирование блока хеширования HASH (только у STM32L4A6).
  • AESEN (бит 16) — Тактирование блока шифрования AES (только у STM32L485, STM32L486, STM32L4A6).
  • DCMIEN (бит 14) — Тактирование интерфейса камеры DCMI (только у STM32L496, STM32L4A6).
  • ADCEN (бит 13) — Тактирование АЦП.
  • OTGFSEN (бит 12) — Тактирование USB OTG FS.
  • GPIOIEN (бит 8) — Тактирование порта I (только у STM32L496, STM32L4A6).
  • 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_AHB3ENR — тактирование блоков на шине AHB3

Смещение 0x50, адрес 0x4002 1050, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 281). В коде: RCC->AHB3ENR.

31302928272625242322212019181716
—
1514131211109876543210
—QSPIEN—FMCEN
  • QSPIEN (бит 8) — Тактирование интерфейса Quad-SPI.
  • FMCEN (бит 0) — Тактирование контроллера внешней памяти FMC.

RCC_APB1ENR1 — тактирование блоков на шине APB1, регистр 1

Смещение 0x58, адрес 0x4002 1058, 32 бит, после сброса 0x0000 0000 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0000 0400). В коде: RCC->APB1ENR1.

31302928272625242322212019181716
LPTIM1ENOPAMPENDAC1ENPWREN—CAN2ENCAN1ENCRSENI2C3ENI2C2ENI2C1ENUART5ENUART4ENUSART3ENUSART2EN—
1514131211109876543210
SPI3ENSPI2EN—WWDGENRTCAPBENLCDEN—TIM7ENTIM6ENTIM5ENTIM4ENTIM3ENTIM2EN
  • LPTIM1EN (бит 31) — Тактирование таймера LPTIM1.
  • OPAMPEN (бит 30) — Тактирование операционных усилителей.
  • DAC1EN (бит 29) — Тактирование ЦАП DAC1.
  • PWREN (бит 28) — Тактирование интерфейса управления питанием PWR.
  • CAN2EN (бит 26) — Тактирование bxCAN CAN2 (только у STM32L496, STM32L4A6).
  • CAN1EN (бит 25) — Тактирование bxCAN CAN1.
  • CRSEN (бит 24) — Тактирование блока подстройки HSI48 (CRS) (только у STM32L496, STM32L4A6).
  • 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.
  • RTCAPBEN (бит 10) — Тактирование интерфейса RTC на шине APB (только у STM32L496, STM32L4A6).
  • LCDEN (бит 9) — Тактирование контроллера ЖК-индикатора (только у STM32L476, STM32L486, STM32L496, STM32L4A6).
  • TIM7EN (бит 5) — Тактирование таймера TIM7.
  • TIM6EN (бит 4) — Тактирование таймера TIM6.
  • TIM5EN (бит 3) — Тактирование таймера TIM5.
  • TIM4EN (бит 2) — Тактирование таймера TIM4.
  • TIM3EN (бит 1) — Тактирование таймера TIM3.
  • TIM2EN (бит 0) — Тактирование таймера TIM2.

RCC_APB1ENR2 — тактирование блоков на шине APB1, регистр 2

Смещение 0x5C, адрес 0x4002 105C, 32 бит, после сброса 0x0000 0000 (в описании регистра напечатано 0x00000 0000; значение — по карте регистров на с. 281). В коде: RCC->APB1ENR2.

31302928272625242322212019181716
—
1514131211109876543210
—LPTIM2EN—SWPMI1ENI2C4ENLPUART1EN
  • LPTIM2EN (бит 5) — Тактирование таймера LPTIM2.
  • SWPMI1EN (бит 2) — Тактирование интерфейса SWPMI.
  • I2C4EN (бит 1) — Тактирование I2C4 (только у STM32L496, STM32L4A6).
  • LPUART1EN (бит 0) — Тактирование LPUART1.

RCC_APB2ENR — тактирование блоков на шине APB2

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

31302928272625242322212019181716
—DFSDM1EN—SAI2ENSAI1EN—TIM17ENTIM16ENTIM15EN
1514131211109876543210
—USART1ENTIM8ENSPI1ENTIM1ENSDMMC1EN—FWEN—SYSCFGEN
  • DFSDM1EN (бит 24) — Тактирование цифрового фильтра DFSDM.
  • SAI2EN (бит 22) — Тактирование аудиоинтерфейса SAI2.
  • SAI1EN (бит 21) — Тактирование аудиоинтерфейса SAI1.
  • TIM17EN (бит 18) — Тактирование таймера TIM17.
  • TIM16EN (бит 17) — Тактирование таймера TIM16.
  • TIM15EN (бит 16) — Тактирование таймера TIM15.
  • USART1EN (бит 14) — Тактирование USART1.
  • TIM8EN (бит 13) — Тактирование таймера TIM8.
  • SPI1EN (бит 12) — Тактирование SPI1.
  • TIM1EN (бит 11) — Тактирование таймера TIM1.
  • SDMMC1EN (бит 10) — Тактирование интерфейса карт SDMMC.
  • FWEN (бит 7) — Тактирование файрвола.
  • SYSCFGEN (бит 0) — Тактирование SYSCFG и компараторов.

RCC_AHB1SMENR — тактирование блоков в режимах Sleep и Stop на шине AHB1

Смещение 0x68, адрес 0x4002 1068, 32 бит, после сброса 0x0001 1303 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0003 1303; в Rev 11 раздел 6.4.22 озаглавлен RCC_BDCR, но смещение 0x68 и биты — регистра RCC_AHB1SMENR). В коде: RCC->AHB1SMENR.

31302928272625242322212019181716
—DMA2DSMENTSCSMEN
1514131211109876543210
—CRCSMEN—SRAM1SMENFLASHSMEN—DMA2SMENDMA1SMEN
  • DMA2DSMEN (бит 17) — Тактирование графического ускорителя DMA2D в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • TSCSMEN (бит 16) — Тактирование контроллера сенсорных кнопок TSC в режимах Sleep и Stop.
  • CRCSMEN (бит 12) — Тактирование блока CRC в режимах Sleep и Stop.
  • SRAM1SMEN (бит 9) — Тактирование SRAM1 в режимах Sleep и Stop.
  • FLASHSMEN (бит 8) — Тактирование интерфейса флеш-памяти в режимах Sleep и Stop.
  • DMA2SMEN (бит 1) — Тактирование DMA2 в режимах Sleep и Stop.
  • DMA1SMEN (бит 0) — Тактирование DMA1 в режимах Sleep и Stop.

RCC_AHB2SMENR — тактирование блоков в режимах Sleep и Stop на шине AHB2

Смещение 0x6C, адрес 0x4002 106C, 32 бит, после сброса 0x0005 32FF (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0007 73FF). В коде: RCC->AHB2SMENR.

31302928272625242322212019181716
—RNGSMENHASHSMENAESSMEN
1514131211109876543210
—DCMISMENADCSMENOTGFSSMEN—SRAM2SMENGPIOISMENGPIOHSMENGPIOGSMENGPIOFSMENGPIOESMENGPIODSMENGPIOCSMENGPIOBSMENGPIOASMEN
  • RNGSMEN (бит 18) — Тактирование генератора случайных чисел RNG в режимах Sleep и Stop.
  • HASHSMEN (бит 17) — Тактирование блока хеширования HASH в режимах Sleep и Stop (только у STM32L4A6).
  • AESSMEN (бит 16) — Тактирование блока шифрования AES в режимах Sleep и Stop (только у STM32L485, STM32L486, STM32L4A6).
  • DCMISMEN (бит 14) — Тактирование интерфейса камеры DCMI в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • ADCSMEN (бит 13) — Тактирование АЦП в режимах Sleep и Stop.
  • OTGFSSMEN (бит 12) — Тактирование USB OTG FS в режимах Sleep и Stop.
  • SRAM2SMEN (бит 9) — Тактирование SRAM2 в режимах Sleep и Stop.
  • GPIOISMEN (бит 8) — Тактирование порта I в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • GPIOHSMEN (бит 7) — Тактирование порта H в режимах Sleep и Stop.
  • GPIOGSMEN (бит 6) — Тактирование порта G в режимах Sleep и Stop.
  • GPIOFSMEN (бит 5) — Тактирование порта F в режимах Sleep и Stop.
  • GPIOESMEN (бит 4) — Тактирование порта E в режимах Sleep и Stop.
  • GPIODSMEN (бит 3) — Тактирование порта D в режимах Sleep и Stop.
  • GPIOCSMEN (бит 2) — Тактирование порта C в режимах Sleep и Stop.
  • GPIOBSMEN (бит 1) — Тактирование порта B в режимах Sleep и Stop.
  • GPIOASMEN (бит 0) — Тактирование порта A в режимах Sleep и Stop.

RCC_AHB3SMENR — тактирование блоков в режимах Sleep и Stop на шине AHB3

Смещение 0x70, адрес 0x4002 1070, 32 бит, после сброса 0x0000 0101 (в описании регистра напечатано 0x00000 0101; значение — по карте регистров на с. 282). В коде: RCC->AHB3SMENR.

31302928272625242322212019181716
—
1514131211109876543210
—QSPISMEN—FMCSMEN
  • QSPISMEN (бит 8) — Тактирование интерфейса Quad-SPI в режимах Sleep и Stop.
  • FMCSMEN (бит 0) — Тактирование контроллера внешней памяти FMC в режимах Sleep и Stop.

RCC_APB1SMENR1 — тактирование блоков в режимах Sleep и Stop на шине APB1, регистр 1

Смещение 0x78, адрес 0x4002 1078, 32 бит, после сброса 0xF2FE CA3F (у STM32L47x/L48x; у STM32L49x/L4Ax — 0xF7FE CE3F). В коде: RCC->APB1SMENR1.

31302928272625242322212019181716
LPTIM1SMENOPAMPSMENDAC1SMENPWRSMEN—CAN2SMENCAN1SMENCRSSMENI2C3SMENI2C2SMENI2C1SMENUART5SMENUART4SMENUSART3SMENUSART2SMEN—
1514131211109876543210
SPI3SMENSPI2SMEN—WWDGSMENRTCAPBSMENLCDSMEN—TIM7SMENTIM6SMENTIM5SMENTIM4SMENTIM3SMENTIM2SMEN
  • LPTIM1SMEN (бит 31) — Тактирование таймера LPTIM1 в режимах Sleep и Stop.
  • OPAMPSMEN (бит 30) — Тактирование операционных усилителей в режимах Sleep и Stop.
  • DAC1SMEN (бит 29) — Тактирование ЦАП DAC1 в режимах Sleep и Stop.
  • PWRSMEN (бит 28) — Тактирование интерфейса управления питанием PWR в режимах Sleep и Stop.
  • CAN2SMEN (бит 26) — Тактирование bxCAN CAN2 в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • CAN1SMEN (бит 25) — Тактирование bxCAN CAN1 в режимах Sleep и Stop.
  • CRSSMEN (бит 24) — Тактирование блока подстройки HSI48 (CRS) в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • I2C3SMEN (бит 23) — Тактирование I2C3 в режимах Sleep и Stop.
  • I2C2SMEN (бит 22) — Тактирование I2C2 в режимах Sleep и Stop.
  • I2C1SMEN (бит 21) — Тактирование I2C1 в режимах Sleep и Stop.
  • UART5SMEN (бит 20) — Тактирование UART5 в режимах Sleep и Stop.
  • UART4SMEN (бит 19) — Тактирование UART4 в режимах Sleep и Stop.
  • USART3SMEN (бит 18) — Тактирование USART3 в режимах Sleep и Stop.
  • USART2SMEN (бит 17) — Тактирование USART2 в режимах Sleep и Stop.
  • SPI3SMEN (бит 15) — Тактирование SPI3 в режимах Sleep и Stop.
  • SPI2SMEN (бит 14) — Тактирование SPI2 в режимах Sleep и Stop.
  • WWDGSMEN (бит 11) — Тактирование оконного сторожевого таймера WWDG в режимах Sleep и Stop.
  • RTCAPBSMEN (бит 10) — Тактирование интерфейса RTC на шине APB в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • LCDSMEN (бит 9) — Тактирование контроллера ЖК-индикатора в режимах Sleep и Stop (только у STM32L476, STM32L486, STM32L496, STM32L4A6).
  • TIM7SMEN (бит 5) — Тактирование таймера TIM7 в режимах Sleep и Stop.
  • TIM6SMEN (бит 4) — Тактирование таймера TIM6 в режимах Sleep и Stop.
  • TIM5SMEN (бит 3) — Тактирование таймера TIM5 в режимах Sleep и Stop.
  • TIM4SMEN (бит 2) — Тактирование таймера TIM4 в режимах Sleep и Stop.
  • TIM3SMEN (бит 1) — Тактирование таймера TIM3 в режимах Sleep и Stop.
  • TIM2SMEN (бит 0) — Тактирование таймера TIM2 в режимах Sleep и Stop.

RCC_APB1SMENR2 — тактирование блоков в режимах Sleep и Stop на шине APB1, регистр 2

Смещение 0x7C, адрес 0x4002 107C, 32 бит, после сброса 0x0000 0025 (у STM32L47x/L48x; у STM32L49x/L4Ax — 0x0000 0027). В коде: RCC->APB1SMENR2.

31302928272625242322212019181716
—
1514131211109876543210
—LPTIM2SMEN—SWPMI1SMENI2C4SMENLPUART1SMEN
  • LPTIM2SMEN (бит 5) — Тактирование таймера LPTIM2 в режимах Sleep и Stop.
  • SWPMI1SMEN (бит 2) — Тактирование интерфейса SWPMI в режимах Sleep и Stop.
  • I2C4SMEN (бит 1) — Тактирование I2C4 в режимах Sleep и Stop (только у STM32L496, STM32L4A6).
  • LPUART1SMEN (бит 0) — Тактирование LPUART1 в режимах Sleep и Stop.

RCC_APB2SMENR — тактирование блоков в режимах Sleep и Stop на шине APB2

Смещение 0x80, адрес 0x4002 1080, 32 бит, после сброса 0x0167 7C01. В коде: RCC->APB2SMENR.

31302928272625242322212019181716
—DFSDM1SMEN—SAI2SMENSAI1SMEN—TIM17SMENTIM16SMENTIM15SMEN
1514131211109876543210
—USART1SMENTIM8SMENSPI1SMENTIM1SMENSDMMC1SMEN—SYSCFGSMEN
  • DFSDM1SMEN (бит 24) — Тактирование цифрового фильтра DFSDM в режимах Sleep и Stop.
  • SAI2SMEN (бит 22) — Тактирование аудиоинтерфейса SAI2 в режимах Sleep и Stop.
  • SAI1SMEN (бит 21) — Тактирование аудиоинтерфейса SAI1 в режимах Sleep и Stop.
  • TIM17SMEN (бит 18) — Тактирование таймера TIM17 в режимах Sleep и Stop.
  • TIM16SMEN (бит 17) — Тактирование таймера TIM16 в режимах Sleep и Stop.
  • TIM15SMEN (бит 16) — Тактирование таймера TIM15 в режимах Sleep и Stop.
  • USART1SMEN (бит 14) — Тактирование USART1 в режимах Sleep и Stop.
  • TIM8SMEN (бит 13) — Тактирование таймера TIM8 в режимах Sleep и Stop.
  • SPI1SMEN (бит 12) — Тактирование SPI1 в режимах Sleep и Stop.
  • TIM1SMEN (бит 11) — Тактирование таймера TIM1 в режимах Sleep и Stop.
  • SDMMC1SMEN (бит 10) — Тактирование интерфейса карт SDMMC в режимах Sleep и Stop.
  • SYSCFGSMEN (бит 0) — Тактирование SYSCFG и компараторов в режимах Sleep и Stop.

RCC_CCIPR — источники тактирования периферии

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

31302928272625242322212019181716
DFSDM1SELSWPMI1SELADCSELCLK48SELSAI2SELSAI1SELLPTIM2SELLPTIM1SELI2C3SEL
1514131211109876543210
I2C2SELI2C1SELLPUART1SELUART5SELUART4SELUSART3SELUSART2SELUSART1SEL
  • DFSDM1SEL (бит 31) — Тактирование DFSDM: PCLK2 или SYSCLK.
  • SWPMI1SEL (бит 30) — Тактирование SWPMI: PCLK1 или HSI16.
  • ADCSEL (биты 29:28) — Источник тактирования ADC.
  • CLK48SEL (биты 27:26) — Источник частоты 48 МГц для USB OTG FS, RNG и SDMMC.
  • SAI2SEL (биты 25:24) — Источник тактирования SAI2.
  • SAI1SEL (биты 23:22) — Источник тактирования SAI1.
  • LPTIM2SEL (биты 21:20) — Источник тактирования LPTIM2.
  • LPTIM1SEL (биты 19:18) — Источник тактирования LPTIM1.
  • I2C3SEL (биты 17:16) — Источник тактирования I2C3.
  • I2C2SEL (биты 15:14) — Источник тактирования I2C2.
  • I2C1SEL (биты 13:12) — Источник тактирования I2C1.
  • LPUART1SEL (биты 11:10) — Источник тактирования LPUART1.
  • UART5SEL (биты 9:8) — Источник тактирования UART5.
  • UART4SEL (биты 7:6) — Источник тактирования UART4.
  • USART3SEL (биты 5:4) — Источник тактирования USART3.
  • USART2SEL (биты 3:2) — Источник тактирования USART2.
  • USART1SEL (биты 1:0) — Источник тактирования USART1.

RCC_BDCR — резервный домен: LSE, тактирование RTC и вывод LSCO

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

31302928272625242322212019181716
—LSCOSELLSCOEN—BDRST
1514131211109876543210
RTCEN—RTCSEL—LSECSSDLSECSSONLSEDRVLSEBYPLSERDYLSEON
  • LSCOSEL (бит 25) — Источник сигнала на выходе LSCO: LSI или LSE.
  • LSCOEN (бит 24) — Включение выхода низкочастотного сигнала LSCO.
  • BDRST (бит 16) — Программный сброс резервного домена.
  • RTCEN (бит 15) — Тактирование RTC.
  • RTCSEL (биты 9:8) — Источник тактирования RTC; меняется только сбросом резервного домена.
  • LSECSSD (бит 6) — Обнаружен отказ LSE (только чтение).
  • LSECSSON (бит 5) — Система защиты тактирования LSE.
  • LSEDRV (биты 4:3) — Сила возбуждения кварца LSE.
  • LSEBYP (бит 2) — Обход генератора LSE: внешний сигнал 32,768 кГц.
  • LSERDY (бит 1) — Генератор LSE готов (только чтение).
  • LSEON (бит 0) — Включение генератора LSE.

RCC_CSR — генератор LSI, диапазон MSI после Standby и флаги сброса

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

31302928272625242322212019181716
LPWRRSTFWWDGRSTFIWDGRSTFSFTRSTFBORRSTFPINRSTFOBLRSTFFWRSTFRMVF—
1514131211109876543210
—MSISRANGE—LSIRDYLSION
  • LPWRRSTF (бит 31) — Причина сброса: вход в режим пониженного потребления запрещён байтом опций (nRST_STOP, nRST_STDBY, nRST_SHDW).
  • WWDGRSTF (бит 30) — Причина сброса: оконный сторожевой таймер WWDG.
  • IWDGRSTF (бит 29) — Причина сброса: независимый сторожевой таймер IWDG.
  • SFTRSTF (бит 28) — Причина сброса: программный (SYSRESETREQ).
  • BORRSTF (бит 27) — Причина сброса: снижение напряжения (BOR) или включение питания.
  • PINRSTF (бит 26) — Причина сброса: вывод NRST.
  • OBLRSTF (бит 25) — Причина сброса: загрузка байтов опций (OBL_LAUNCH).
  • FWRSTF (бит 24) — Причина сброса: файрвол.
  • RMVF (бит 23) — Запись 1 сбрасывает все флаги причины сброса.
  • MSISRANGE (биты 11:8) — Частота MSI после выхода из Standby: 1, 2, 4 или 8 МГц.
  • LSIRDY (бит 1) — Генератор LSI готов (только чтение).
  • LSION (бит 0) — Включение генератора LSI (около 32 кГц).

RCC_CRRCR — генератор HSI48 и его калибровка

Смещение 0x98, адрес 0x4002 1098, 32 бит, после сброса 0x0000 XXX0 (X — заводская калибровка); регистр есть только у STM32L496, STM32L4A6. В коде: RCC->CRRCR.

31302928272625242322212019181716
—
1514131211109876543210
HSI48CAL—HSI48RDYHSI48ON
  • HSI48CAL (биты 15:7) — Заводская калибровка HSI48 (только чтение).
  • HSI48RDY (бит 1) — Генератор HSI48 готов (только чтение).
  • HSI48ON (бит 0) — Включение генератора HSI48 (USB, RNG).

RCC_CCIPR2 — источники тактирования периферии, регистр 2

Смещение 0x9C, адрес 0x4002 109C, 32 бит, после сброса 0x0000 0000; регистр есть только у STM32L496, STM32L4A6. В коде: RCC->CCIPR2.

31302928272625242322212019181716
—
1514131211109876543210
—I2C4SEL
  • I2C4SEL (биты 1:0) — Источник тактирования I2C4.

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

Как получить 80 МГц на STM32L476 без кварца?

От MSI 4 МГц: PLLSRC = MSI, PLLM = 1 (код 0), PLLN = 40, PLLR = 2 (код 0), PLLREN = 1 — ГУН 160 МГц, на выходе R 80 МГц. Установите FLASH_ACR.LATENCY = 4, включите PLL, дождитесь PLLRDY и переключите SW на PLL.

Какая частота у MSI после выхода из Standby?

Та, что задана полем MSISRANGE регистра RCC_CSR: 1, 2, 4 (по умолчанию) или 8 МГц. Поле MSIRANGE в RCC_CR действует, только когда установлен MSIRGSEL.

Источники

  1. STMicroelectronics. RM0351: Reference manual (Rev 11) — раздел 6.4: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-l4 v1.7.5: заголовки CMSIS stm32l471xx.h, stm32l475xx.h, stm32l476xx.h, stm32l485xx.h, stm32l486xx.h, stm32l496xx.h, stm32l4a6xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

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

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

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