RCC (Reset and Clock Control) - Регистры управления сбросом и тактированием


Offset: 0x00
Clock control register
Регистр управления тактированием
Offset: 0x04
Clock configuration register
Регистр настройки тактовой частоты
Offset: 0x08
Clock interrupt register
Регистр управления прерываниями от устройств тактирования (генераторы, делители, умножители и пр.)
Offset: 0x0C
APB2 peripheral reset register
Регистр сброса периферии шины APB2
Offset: 0x10
APB1 peripheral reset register
Регистр сброса периферии шины APB1
Offset: 0x14
AHB peripheral clock enable register
Регистр управления тактированием устройств на шине AHB
Offset: 0x18
APB2 peripheral clock enable register
Регистр управления тактированием устройств на шине APB2
Offset: 0x1C
APB1 peripheral clock enable register
Регистр управления тактированием устройств на шине APB1
Offset: 0x20
Backup domain control register
Регистр управления доменом резервного копирования Backup
Offset: 0x24
Control/status register
Регистр управления/состояния





#define PERIPH_BASE         ((uint32_t)0x40000000)    /* Peripheral base address in the alias region */
#define AHBPERIPH_BASE      (PERIPH_BASE + 0x20000)
#define RCC_BASE            (AHBPERIPH_BASE + 0x1000)
#define RCC                 ((RCC_TypeDef *) RCC_BASE)


typedef struct
{
  __IO uint32_t CR;
  __IO uint32_t CFGR;
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;
  __IO uint32_t APB2ENR;
  __IO uint32_t APB1ENR;
  __IO uint32_t BDCR;
  __IO uint32_t CSR;
  __IO uint32_t AHBRSTR;        //- only _CL
  __IO uint32_t CFGR2;          //- only _CL, _LD_VL, _MD_VL, _HD_VL
} RCC_TypeDef;


/******  STM32 specific Interrupt Numbers *************/
...
RCC_IRQn   = 5,      /* RCC global Interrupt          */
...