Reset and clock control (RCC)
Регистры управления сбросом и тактированием
Offset: 0x0C
RCC clock interrupt register
Регистр управления прерываниями от устройств тактирования (генераторы, делители, умножители и пр.)
Offset: 0x30
RCC AHB1 peripheral clock enable register
Регистр управления тактированием устройств на шине AHB1
Offset: 0x34
RCC AHB2 peripheral clock enable register
Регистр управления тактированием устройств на шине AHB2
Offset: 0x38
RCC AHB3 peripheral clock enable register
Регистр управления тактированием устройств на шине AHB3
Offset: 0x40
RCC APB1 peripheral clock enable register
Регистр управления тактированием устройств на шине APB1
Offset: 0x44
RCC APB2 peripheral clock enable register
Регистр управления тактированием устройств на шине APB2
Offset: 0x50
RCC AHB1 peripheral clock enable in low power mode register
Регистр управления тактированием устройств на шине AHB1 в режиме пониженного энергопотребления
Offset: 0x54
RCC AHB2 peripheral clock enable in low power mode register
Регистр управления тактированием устройств на шине AHB2 в режиме пониженного энергопотребления
Offset: 0x58
RCC AHB3 peripheral clock enable in low power mode register
Регистр управления тактированием устройств на шине AHB3 в режиме пониженного энергопотребления
Offset: 0x60
RCC APB1 peripheral clock enable in low power mode register
Регистр управления тактированием устройств на шине APB1 в режиме пониженного энергопотребления
Offset: 0x64
RCC APB2 peripheral clock enabled in low power mode register
Регистр управления тактированием устройств на шине APB2 в режиме пониженного энергопотребления
Offset: 0x70
RCC Backup domain control register
Регистр управления доменом резервного копирования
Offset: 0x74
RCC clock control & status register
Регистр флагов сброса и управления LSI генератором
Offset: 0x84
RCC PLLI2S configuration register
Регистр конфигурации умножителя интерфейса I2S (Inter-Integrated Circuit Sound)
Offset: 0x88
RCC PLL configuration register
Регистр конфигурации умножителя интерфейса SAI (Serial Audio Interface)
Offset: 0x8C
RCC dedicated clock configuration register
Специализированный регистр настройки тактовых импульсов интерфейсов SAI и I2S
Offset: 0x90
RCC clocks gated enable register
Регистр настройки синхронизации тактовых импульсов
Offset: 0x94
RCC dedicated clocks configuration register 2
Второй специализированный регистр настройки тактовых импульсов
//- stm32f446xx.h
#define PERIPH_BASE 0x40000000UL /* Peripheral base address in the alias region */
#define APB1PERIPH_BASE PERIPH_BASE
#define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000UL)
#define AHB1PERIPH_BASE (PERIPH_BASE + 0x00020000UL)
#define AHB2PERIPH_BASE (PERIPH_BASE + 0x10000000UL)
#define RCC ((RCC_TypeDef *) RCC_BASE)
typedef struct
{
__IO uint32_t CR; /* clock control register, */
__IO uint32_t PLLCFGR; /* PLL configuration register, */
__IO uint32_t CFGR; /* clock configuration register, */
__IO uint32_t CIR; /* clock interrupt register, */
__IO uint32_t AHB1RSTR; /* AHB1 peripheral reset register, */
__IO uint32_t AHB2RSTR; /* AHB2 peripheral reset register, */
__IO uint32_t AHB3RSTR; /* AHB3 peripheral reset register, */
uint32_t RESERVED0; /* Reserved, 0x1C */
__IO uint32_t APB1RSTR; /* APB1 peripheral reset register, */
__IO uint32_t APB2RSTR; /* APB2 peripheral reset register, */
uint32_t RESERVED1[2]; /* Reserved, 0x28-0x2C */
__IO uint32_t AHB1ENR; /* AHB1 peripheral clock register, */
__IO uint32_t AHB2ENR; /* AHB2 peripheral clock register, */
__IO uint32_t AHB3ENR; /* AHB3 peripheral clock register, */
uint32_t RESERVED2; /* Reserved, 0x3C */
__IO uint32_t APB1ENR; /* APB1 peripheral clock enable register, */
__IO uint32_t APB2ENR; /* APB2 peripheral clock enable register, */
uint32_t RESERVED3[2]; /* Reserved, 0x48-0x4C */
__IO uint32_t AHB1LPENR; /* AHB1 peripheral clock enable in low power mode register */
__IO uint32_t AHB2LPENR; /* AHB2 peripheral clock enable in low power mode register */
__IO uint32_t AHB3LPENR; /* AHB3 peripheral clock enable in low power mode register */
uint32_t RESERVED4; /* Reserved, 0x5C */
__IO uint32_t APB1LPENR; /* APB1 peripheral clock enable in low power mode register */
__IO uint32_t APB2LPENR; /* APB2 peripheral clock enable in low power mode register */
uint32_t RESERVED5[2]; /* Reserved, 0x68-0x6C */
__IO uint32_t BDCR; /* Backup domain control register, */
__IO uint32_t CSR; /* clock control & status register, */
uint32_t RESERVED6[2]; /* Reserved, 0x78-0x7C */
__IO uint32_t SSCGR; /* spread spectrum clock generation register, */
__IO uint32_t PLLI2SCFGR; /* PLLI2S configuration register, */
__IO uint32_t PLLSAICFGR; /* PLLSAI configuration register, */
__IO uint32_t DCKCFGR; /* Dedicated Clocks configuration register, */
__IO uint32_t CKGATENR; /* Clocks Gated ENable Register, */
__IO uint32_t DCKCFGR2; /* Dedicated Clocks configuration register 2, */
} RCC_TypeDef;
/****** STM32 specific Interrupt Numbers *************/
...
RCC_IRQn = 5, /* RCC global Interrupt */
...