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


Регистры управления сбросом и тактированием

Имя регистра
Смещение
Наименование
0x00
Clock control register
Регистр управления тактированием
0x04
Clock configuration register
Регистр настройки тактовой частоты
0x08
Clock interrupt register
Регистр управления прерываниями от устройств тактирования (генераторы, делители, умножители и пр.)
0x0C
APB2 peripheral reset register
Регистр сброса периферии шины APB2
0x10
APB1 peripheral reset register
Регистр сброса периферии шины APB1
0x14
AHB peripheral clock enable register
Регистр управления тактированием устройств на шине AHB
0x18
APB2 peripheral clock enable register
Регистр управления тактированием устройств на шине APB2
0x1C
APB1 peripheral clock enable register
Регистр управления тактированием устройств на шине APB1
0x20
Backup domain control register
Регистр управления доменом резервного копирования Backup
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          */
...