123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654 |
- ////////////////////////////////////////////////////////////////////////////////
- /// @file reg_rcc.h
- /// @author AE TEAM
- /// @brief THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE SERIES OF
- /// MM32 FIRMWARE LIBRARY.
- ////////////////////////////////////////////////////////////////////////////////
- /// @attention
- ///
- /// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
- /// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
- /// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
- /// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
- /// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
- /// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
- ///
- /// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
- ////////////////////////////////////////////////////////////////////////////////
- // Define to prevent recursive inclusion
- #ifndef __REG_RCC_H
- #define __REG_RCC_H
- // Files includes
- #include <stdint.h>
- #include <stdbool.h>
- #include "types.h"
- #if defined ( __CC_ARM )
- #pragma anon_unions
- #endif
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC Base Address Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_BASE (AHBPERIPH_BASE + 0x1000) ///< Base Address: 0x40021000
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC Register Structure Definition
- ////////////////////////////////////////////////////////////////////////////////
- typedef struct {
- __IO u32 CR; ///< Control Register offset: 0x00
- __IO u32 CFGR; ///< Configuration Register offset: 0x04
- __IO u32 CIR; ///< Clock Interrupt Register offset: 0x08
- __IO u32 AHB3RSTR; ///< Advanced High Performance Bus 3 Reset Register offset: 0x0C
- __IO u32 AHB2RSTR; ///< Advanced High Performance Bus 2 Reset Register offset: 0x10
- __IO u32 AHBRSTR; ///< Advanced High Performance Bus 1 Reset Register offset: 0x14
- __IO u32 APB2RSTR; ///< Advanced Peripheral Bus 2 Reset Register offset: 0x18
- __IO u32 APB1RSTR; ///< Advanced Peripheral Bus 1 Reset Register offset: 0x1C
- __IO u32 AHB3ENR; ///< Advanced High Performance Bus 3 Enable Register offset: 0x20
- __IO u32 AHB2ENR; ///< Advanced High Performance Bus 2 Enable Register offset: 0x24
- union {
- __IO u32 AHBENR; ///< Advanced High Performance Bus 1 Enable Register offset: 0x28
- __IO u32 AHB1ENR;
- };
- __IO u32 APB2ENR; ///< Advanced Peripheral Bus 2 Enable Register offset: 0x2C
- __IO u32 APB1ENR; ///< Advanced Peripheral Bus 1 Enable Register offset: 0x30
- __IO u32 BDCR; ///< Backup Domain Control Register offset: 0x34
- __IO u32 CSR; ///< Control Status Register offset: 0x38
- __IO u32 SYSCFGR; ///< System Configuration Register offset: 0x3C
- __IO u32 CFGR2; ///< System Configuration Register offset: 0x40
- __IO u32 ICSCR; ///< Internal clock source calibration register offset: 0x44
- __IO u32 PLLCFGR; ///< PLL configures registers offset: 0x48
- u32 Reserved1[13]; ///< Reserved space
- __IO u32 HSIDLY; ///< HSI delay register offset: 0x80
- __IO u32 HSEDLY; ///< HSE delay register offset: 0x84
- __IO u32 PLLDLY; ///< PLL delay register offset: 0x88
- } RCC_TypeDef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC type pointer Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC ((RCC_TypeDef*) RCC_BASE)
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_CR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_CR_HSION_Pos (0)
- #define RCC_CR_HSION (0x01U << RCC_CR_HSION_Pos) ///< Internal High Speed clock enable
- #define RCC_CR_HSIRDY_Pos (1)
- #define RCC_CR_HSIRDY (0x01U << RCC_CR_HSIRDY_Pos) ///< Internal High Speed clock ready flag
- #define RCC_CR_HSIDIV_Pos (11)
- #define RCC_CR_HSIDIV_0 (0x00U << RCC_CR_HSIDIV_Pos) ///< HSI regardless of frequency
- #define RCC_CR_HSIDIV_2 (0x01U << RCC_CR_HSIDIV_Pos) ///< HSI 2 frequency division
- #define RCC_CR_HSIDIV_4 (0x02U << RCC_CR_HSIDIV_Pos) ///< HSI 4 frequency division
- #define RCC_CR_HSIDIV_8 (0x03U << RCC_CR_HSIDIV_Pos) ///< HSI eight points and frequency
- #define RCC_CR_HSIDIV_16 (0x04U << RCC_CR_HSIDIV_Pos) ///< HSI 16 points and frequency
- #define RCC_CR_HSIDIV_32 (0x05U << RCC_CR_HSIDIV_Pos) ///< HSI 32 points and frequency
- #define RCC_CR_HSIDIV_64 (0x06U << RCC_CR_HSIDIV_Pos) ///< HSI 64 frequency division
- #define RCC_CR_HSIDIV_128 (0x07U << RCC_CR_HSIDIV_Pos) ///< HSI 128 frequency division
- #define RCC_CR_HSEON_Pos (16)
- #define RCC_CR_HSEON (0x01U << RCC_CR_HSEON_Pos) ///< External High Speed clock enable
- #define RCC_CR_HSERDY_Pos (17)
- #define RCC_CR_HSERDY (0x01U << RCC_CR_HSERDY_Pos) ///< External High Speed clock ready flag
- #define RCC_CR_HSEBYP_Pos (18)
- #define RCC_CR_HSEBYP (0x01U << RCC_CR_HSEBYP_Pos) ///< External High Speed clock Bypass
- #define RCC_CR_CSSON_Pos (19)
- #define RCC_CR_CSSON (0x01U << RCC_CR_CSSON_Pos) ///< Clock Security System enable
- #define RCC_CR_PLLON_Pos (24)
- #define RCC_CR_PLLON (0x01U << RCC_CR_PLLON_Pos) ///< PLL enable
- #define RCC_CR_PLLRDY_Pos (25)
- #define RCC_CR_PLLRDY (0x01U << RCC_CR_PLLRDY_Pos) ///< PLL clock ready flag
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_CFGR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_CFGR_SW_Pos (0)
- #define RCC_CFGR_SW (0x03U << RCC_CFGR_SW_Pos) ///< SW[1:0] bits (System clock Switch)
- #define RCC_CFGR_SW_HSI_DIV6 (0x00U << RCC_CFGR_SW_Pos) ///< HSI/6 selected as system clock
- #define RCC_CFGR_SW_HSE (0x01U << RCC_CFGR_SW_Pos) ///< HSE selected as system clock
- #define RCC_CFGR_SW_PLL (0x02U << RCC_CFGR_SW_Pos) ///< PLL selected as system clock
- #define RCC_CFGR_SW_LSI (0x03U << RCC_CFGR_SW_Pos) ///< LSI selected as system clock
- #define RCC_CFGR_SWS_Pos (2)
- #define RCC_CFGR_SWS (0x03U << RCC_CFGR_SWS_Pos) ///< SWS[1:0] bits (System Clock Switch Status)
- #define RCC_CFGR_SWS_HSI_DIV6 (0x00U << RCC_CFGR_SWS_Pos) ///< HSI/6 oscillator used as system clock
- #define RCC_CFGR_SWS_HSE (0x01U << RCC_CFGR_SWS_Pos) ///< HSE oscillator used as system clock
- #define RCC_CFGR_SWS_PLL (0x02U << RCC_CFGR_SWS_Pos) ///< PLL used as system clock
- #define RCC_CFGR_SWS_LSI (0x03U << RCC_CFGR_SWS_Pos) ///< LSI used as system clock
- #define RCC_CFGR_HPRE_Pos (4)
- #define RCC_CFGR_HPRE (0x0FU << RCC_CFGR_HPRE_Pos) ///< HPRE[3:0] bits (AHB prescaler)
- #define RCC_CFGR_PPRE_0 (0x01U << RCC_CFGR_HPRE_Pos) ///< Bit 0
- #define RCC_CFGR_PPRE_1 (0x02U << RCC_CFGR_HPRE_Pos) ///< Bit 1
- #define RCC_CFGR_PPRE_2 (0x04U << RCC_CFGR_HPRE_Pos) ///< Bit 2
- #define RCC_CFGR_PPRE_3 (0x08U << RCC_CFGR_HPRE_Pos) ///< Bit 3
- #define RCC_CFGR_HPRE_DIV1 (0x00U << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK not divided
- #define RCC_CFGR_HPRE_DIV2 (0x08U << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 2
- #define RCC_CFGR_HPRE_DIV4 (0x09U << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 4
- #define RCC_CFGR_HPRE_DIV8 (0x0AU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 8
- #define RCC_CFGR_HPRE_DIV16 (0x0BU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 16
- #define RCC_CFGR_HPRE_DIV64 (0x0CU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 64
- #define RCC_CFGR_HPRE_DIV128 (0x0DU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 128
- #define RCC_CFGR_HPRE_DIV256 (0x0EU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 256
- #define RCC_CFGR_HPRE_DIV512 (0x0FU << RCC_CFGR_HPRE_Pos) ///< AHB = FCLK = SYSCLK divided by 512
- #define RCC_CFGR_PPRE1_Pos (8)
- #define RCC_CFGR_PPRE1 (0x07U << RCC_CFGR_PPRE1_Pos) ///< PRE1[2:0] bits (APB1 prescaler)
- #define RCC_CFGR_PPRE1_0 (0x01U << RCC_CFGR_PPRE1_Pos) ///< Bit 0
- #define RCC_CFGR_PPRE1_1 (0x02U << RCC_CFGR_PPRE1_Pos) ///< Bit 1
- #define RCC_CFGR_PPRE1_2 (0x04U << RCC_CFGR_PPRE1_Pos) ///< Bit 2
- #define RCC_CFGR_PPRE1_DIV1 (0x00U << RCC_CFGR_PPRE1_Pos) ///< APB1 = HCLK not divided
- #define RCC_CFGR_PPRE1_DIV2 (0x04U << RCC_CFGR_PPRE1_Pos) ///< APB1 = HCLK divided by 2
- #define RCC_CFGR_PPRE1_DIV4 (0x05U << RCC_CFGR_PPRE1_Pos) ///< APB1 = HCLK divided by 4
- #define RCC_CFGR_PPRE1_DIV8 (0x06U << RCC_CFGR_PPRE1_Pos) ///< APB1 = HCLK divided by 8
- #define RCC_CFGR_PPRE1_DIV16 (0x07U << RCC_CFGR_PPRE1_Pos) ///< APB1 = HCLK divided by 16
- #define RCC_CFGR_PPRE2_Pos (11)
- #define RCC_CFGR_PPRE2 (0x07U << RCC_CFGR_PPRE2_Pos) ///< PRE2[2:0] bits (APB2 prescaler)
- #define RCC_CFGR_PPRE2_0 (0x01U << RCC_CFGR_PPRE2_Pos) ///< Bit 0
- #define RCC_CFGR_PPRE2_1 (0x02U << RCC_CFGR_PPRE2_Pos) ///< Bit 1
- #define RCC_CFGR_PPRE2_2 (0x04U << RCC_CFGR_PPRE2_Pos) ///< Bit 2
- #define RCC_CFGR_PPRE2_DIV1 (0x00U << RCC_CFGR_PPRE2_Pos) ///< APB2 = HCLK not divided
- #define RCC_CFGR_PPRE2_DIV2 (0x04U << RCC_CFGR_PPRE2_Pos) ///< APB2 = HCLK divided by 2
- #define RCC_CFGR_PPRE2_DIV4 (0x05U << RCC_CFGR_PPRE2_Pos) ///< APB2 = HCLK divided by 4
- #define RCC_CFGR_PPRE2_DIV8 (0x06U << RCC_CFGR_PPRE2_Pos) ///< APB2 = HCLK divided by 8
- #define RCC_CFGR_PPRE2_DIV16 (0x07U << RCC_CFGR_PPRE2_Pos) ///< APB2 = HCLK divided by 16
- #define RCC_CFGR_USBPRE_Pos (22)
- #define RCC_CFGR_USBPRE (0x03U << RCC_CFGR_USBPRE_Pos) ///< USB prescaler BIT[1:0]
- #define RCC_CFGR_MCO_Pos (24)
- #define RCC_CFGR_MCO (0x07U << RCC_CFGR_MCO_Pos) ///< MCO[2:0] bits (Microcontroller Clock Output)
- #define RCC_CFGR_MCO_NOCLOCK (0x00U << RCC_CFGR_MCO_Pos) ///< No clock
- #define RCC_CFGR_MCO_LSI (0x02U << RCC_CFGR_MCO_Pos) ///< LSI clock
- #define RCC_CFGR_MCO_LSE (0x03U << RCC_CFGR_MCO_Pos) ///< LSE clock
- #define RCC_CFGR_MCO_SYSCLK (0x04U << RCC_CFGR_MCO_Pos) ///< System clock selected
- #define RCC_CFGR_MCO_HSI (0x05U << RCC_CFGR_MCO_Pos) ///< Internal 48 MHz RC oscillator clock selected
- #define RCC_CFGR_MCO_HSE (0x06U << RCC_CFGR_MCO_Pos) ///< External 1-25 MHz oscillator clock selected
- #define RCC_CFGR_MCO_PLL (0x07U << RCC_CFGR_MCO_Pos) ///< PLL clock divided by 2 selected
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_CIR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_CIR_LSIRDYF_Pos (0)
- #define RCC_CIR_LSIRDYF (0x01U << RCC_CIR_LSIRDYF_Pos) ///< LSI Ready Interrupt flag
- #define RCC_CIR_LSERDYF_Pos (1)
- #define RCC_CIR_LSERDYF (0x01U << RCC_CIR_LSERDYF_Pos) ///< LSE Ready Interrupt flag
- #define RCC_CIR_HSIRDYF_Pos (2)
- #define RCC_CIR_HSIRDYF (0x01U << RCC_CIR_HSIRDYF_Pos) ///< HSI Ready Interrupt flag
- #define RCC_CIR_HSERDYF_Pos (3)
- #define RCC_CIR_HSERDYF (0x01U << RCC_CIR_HSERDYF_Pos) ///< HSE Ready Interrupt flag
- #define RCC_CIR_PLLRDYF_Pos (4)
- #define RCC_CIR_PLLRDYF (0x01U << RCC_CIR_PLLRDYF_Pos) ///< PLL Ready Interrupt flag
- #define RCC_CIR_CSSF_Pos (7)
- #define RCC_CIR_CSSF (0x01U << RCC_CIR_CSSF_Pos) ///< Clock Security System Interrupt flag
- #define RCC_CIR_LSIRDYIE_Pos (8)
- #define RCC_CIR_LSIRDYIE (0x01U << RCC_CIR_LSIRDYIE_Pos) ///< LSI Ready Interrupt Enable
- #define RCC_CIR_LSERDYIE_Pos (9)
- #define RCC_CIR_LSERDYIE (0x01U << RCC_CIR_LSERDYIE_Pos) ///< LSE Ready Interrupt Enable
- #define RCC_CIR_HSIRDYIE_Pos (10)
- #define RCC_CIR_HSIRDYIE (0x01U << RCC_CIR_HSIRDYIE_Pos) ///< HSI Ready Interrupt Enable
- #define RCC_CIR_HSERDYIE_Pos (11)
- #define RCC_CIR_HSERDYIE (0x01U << RCC_CIR_HSIRDYIE_Pos) ///< HSE Ready Interrupt Enable
- #define RCC_CIR_PLLRDYIE_Pos (12)
- #define RCC_CIR_PLLRDYIE (0x01U << RCC_CIR_PLLRDYIE_Pos) ///< PLL Ready Interrupt Enable
- #define RCC_CIR_LSIRDYC_Pos (16)
- #define RCC_CIR_LSIRDYC (0x01U << RCC_CIR_LSIRDYC_Pos) ///< LSI Ready Interrupt Clear
- #define RCC_CIR_LSERDYC_Pos (17)
- #define RCC_CIR_LSERDYC (0x01U << RCC_CIR_LSERDYC_Pos) ///< LSE Ready Interrupt Clear
- #define RCC_CIR_HSIRDYC_Pos (18)
- #define RCC_CIR_HSIRDYC (0x01U << RCC_CIR_HSIRDYC_Pos) ///< HSI Ready Interrupt Clear
- #define RCC_CIR_HSERDYC_Pos (19)
- #define RCC_CIR_HSERDYC (0x01U << RCC_CIR_HSERDYC_Pos) ///< HSE Ready Interrupt Clear
- #define RCC_CIR_PLLRDYC_Pos (20)
- #define RCC_CIR_PLLRDYC (0x01U << RCC_CIR_PLLRDYC_Pos) ///< PLL Ready Interrupt Clear
- #define RCC_CIR_CSSC_Pos (23)
- #define RCC_CIR_CSSC (0x01U << RCC_CIR_CSSC_Pos) ///< Clock Security System Interrupt Clear
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_APB2RSTR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_APB2RSTR_TIM1_Pos (0)
- #define RCC_APB2RSTR_TIM1 (0x01U << RCC_APB2RSTR_TIM1_Pos) ///< TIM1 reset
- #define RCC_APB2RSTR_TIM8_Pos (1)
- #define RCC_APB2RSTR_TIM8 (0x01U << RCC_APB2RSTR_TIM8_Pos) ///< TIM8 reset
- #define RCC_APB2RSTR_UART1_Pos (4)
- #define RCC_APB2RSTR_UART1 (0x01U << RCC_APB2RSTR_UART1_Pos) ///< UART1 reset
- #define RCC_APB2RSTR_UART6_Pos (5)
- #define RCC_APB2RSTR_UART6 (0x01U << RCC_APB2RSTR_UART6_Pos) ///< UART6 reset
- #define RCC_APB2RSTR_ADC1_Pos (8)
- #define RCC_APB2RSTR_ADC1 (0x01U << RCC_APB2RSTR_ADC1_Pos) ///< ADC1 reset
- #define RCC_APB2RSTR_ADC2_Pos (9)
- #define RCC_APB2RSTR_ADC2 (0x01U << RCC_APB2RSTR_ADC2_Pos) ///< ADC2 reset
- #define RCC_APB2RSTR_ADC3_Pos (10)
- #define RCC_APB2RSTR_ADC3 (0x01U << RCC_APB2RSTR_ADC3_Pos) ///< ADC3 reset
- #define RCC_APB2RSTR_SPI1_Pos (12)
- #define RCC_APB2RSTR_SPI1 (0x01U << RCC_APB2RSTR_SPI1_Pos) ///< SPI1 reset
- #define RCC_APB2RSTR_SYSCFG_Pos (14)
- #define RCC_APB2RSTR_SYSCFG (0x01U << RCC_APB2RSTR_SYSCFG_Pos) ///< SYSCFG reset
- #define RCC_APB2RSTR_COMP_Pos (15)
- #define RCC_APB2RSTR_COMP (0x01U << RCC_APB2RSTR_COMP_Pos) ///< COMP reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHB3RSTR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHB3RSTR_FSMC_Pos (0)
- #define RCC_AHB3RSTR_FSMC (0x01U << RCC_AHB3RSTR_FSMC_Pos) ///< FSMC reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_APB1RSTR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_APB1RSTR_TIM2_Pos (0)
- #define RCC_APB1RSTR_TIM2 (0x01U << RCC_APB1RSTR_TIM2_Pos) ///< Timer 2 reset
- #define RCC_APB1RSTR_TIM3_Pos (1)
- #define RCC_APB1RSTR_TIM3 (0x01U << RCC_APB1RSTR_TIM3_Pos) ///< Timer 3 reset
- #define RCC_APB1RSTR_TIM4_Pos (2)
- #define RCC_APB1RSTR_TIM4 (0x01U << RCC_APB1RSTR_TIM4_Pos) ///< Timer 4 reset
- #define RCC_APB1RSTR_TIM5_Pos (3)
- #define RCC_APB1RSTR_TIM5 (0x01U << RCC_APB1RSTR_TIM5_Pos) ///< Timer 5 reset
- #define RCC_APB1RSTR_TIM6_Pos (4)
- #define RCC_APB1RSTR_TIM6 (0x01U << RCC_APB1RSTR_TIM6_Pos) ///< Timer 6 reset
- #define RCC_APB1RSTR_TIM7_Pos (5)
- #define RCC_APB1RSTR_TIM7 (0x01U << RCC_APB1RSTR_TIM7_Pos) ///< Timer 7 reset
- #define RCC_APB1RSTR_WWDG_Pos (11)
- #define RCC_APB1RSTR_WWDG (0x01U << RCC_APB1RSTR_WWDG_Pos) ///< Window Watchdog reset
- #define RCC_APB1RSTR_SPI2_Pos (14)
- #define RCC_APB1RSTR_SPI2 (0x01U << RCC_APB1RSTR_SPI2_Pos) ///< SPI 2 reset
- #define RCC_APB1RSTR_SPI3_Pos (15)
- #define RCC_APB1RSTR_SPI3 (0x01U << RCC_APB1RSTR_SPI3_Pos) ///< SPI 3 reset
- #define RCC_APB1RSTR_UART2_Pos (17)
- #define RCC_APB1RSTR_UART2 (0x01U << RCC_APB1RSTR_UART2_Pos) ///< UART 2 reset
- #define RCC_APB1RSTR_UART3_Pos (18)
- #define RCC_APB1RSTR_UART3 (0x01U << RCC_APB1RSTR_UART3_Pos) ///< UART 3 reset
- #define RCC_APB1RSTR_UART4_Pos (19)
- #define RCC_APB1RSTR_UART4 (0x01U << RCC_APB1RSTR_UART4_Pos) ///< UART 4 reset
- #define RCC_APB1RSTR_UART5_Pos (20)
- #define RCC_APB1RSTR_UART5 (0x01U << RCC_APB1RSTR_UART5_Pos) ///< UART 5 reset
- #define RCC_APB1RSTR_I2C1_Pos (21)
- #define RCC_APB1RSTR_I2C1 (0x01U << RCC_APB1RSTR_I2C1_Pos) ///< I2C 1 reset
- #define RCC_APB1RSTR_I2C2_Pos (22)
- #define RCC_APB1RSTR_I2C2 (0x01U << RCC_APB1RSTR_I2C2_Pos) ///< I2C 2 reset
- #define RCC_APB1RSTR_CRS_Pos (24)
- #define RCC_APB1RSTR_CRS (0x01U << RCC_APB1RSTR_CRS_Pos) ///< CRS reset
- #define RCC_APB1RSTR_CAN_Pos (25)
- #define RCC_APB1RSTR_CAN (0x01U << RCC_APB1RSTR_CAN_Pos) ///< CAN reset
- #define RCC_APB1RSTR_BKP_Pos (27)
- #define RCC_APB1RSTR_BKP (0x01U << RCC_APB1RSTR_BKP_Pos) ///< Backup interface reset
- #define RCC_APB1RSTR_PWR_Pos (28)
- #define RCC_APB1RSTR_PWR (0x01U << RCC_APB1RSTR_PWR_Pos) ///< Power interface reset
- #define RCC_APB1RSTR_DAC_Pos (29)
- #define RCC_APB1RSTR_DAC (0x01U << RCC_APB1RSTR_DAC_Pos) ///< DAC interface reset
- #define RCC_APB1RSTR_UART7_Pos (30)
- #define RCC_APB1RSTR_UART7 (0x01U << RCC_APB1RSTR_UART7_Pos) ///< UART7 reset
- #define RCC_APB1RSTR_UART8_Pos (31)
- #define RCC_APB1RSTR_UART8 (0x01U << RCC_APB1RSTR_UART8_Pos) ///< UART8 reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHB2RSTR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHB2RSTR_USBFS_Pos (7)
- #define RCC_AHB2RSTR_USBFS (0x01U << RCC_AHB2RSTR_USBFS_Pos) ///< USBFS reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHB3ENR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHB3ENR_FSMC_Pos (0)
- #define RCC_AHB3ENR_FSMC (0x01U << RCC_AHB3ENR_FSMC_Pos) ///< FSMC reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHB2ENR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHB2ENR_USBFS_Pos (7)
- #define RCC_AHB2ENR_USBFS (0x01U << RCC_AHB2ENR_USBFS_Pos) ///< USBFS reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHBENR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHBENR_GPIOA_Pos (0)
- #define RCC_AHBENR_GPIOA (0x01U << RCC_AHBENR_GPIOA_Pos) ///< GPIOA clock enable
- #define RCC_AHBENR_GPIOB_Pos (1)
- #define RCC_AHBENR_GPIOB (0x01U << RCC_AHBENR_GPIOB_Pos) ///< GPIOB clock enable
- #define RCC_AHBENR_GPIOC_Pos (2)
- #define RCC_AHBENR_GPIOC (0x01U << RCC_AHBENR_GPIOC_Pos) ///< GPIOC clock enable
- #define RCC_AHBENR_GPIOD_Pos (3)
- #define RCC_AHBENR_GPIOD (0x01U << RCC_AHBENR_GPIOD_Pos) ///< GPIOD clock enable
- #define RCC_AHBENR_GPIOE_Pos (4)
- #define RCC_AHBENR_GPIOE (0x01U << RCC_AHBENR_GPIOE_Pos) ///< GPIOE clock enable
- #define RCC_AHBENR_GPIOF_Pos (5)
- #define RCC_AHBENR_GPIOF (0x01U << RCC_AHBENR_GPIOF_Pos) ///< GPIOF clock enable
- #define RCC_AHBENR_GPIOG_Pos (6)
- #define RCC_AHBENR_GPIOG (0x01U << RCC_AHBENR_GPIOG_Pos) ///< GPIOG clock enable
- #define RCC_AHBENR_GPIOH_Pos (7)
- #define RCC_AHBENR_GPIOH (0x01U << RCC_AHBENR_GPIOH_Pos) ///< GPIOH clock enable
- #define RCC_AHBENR_SDIO_Pos (10)
- #define RCC_AHBENR_SDIO (0x01U << RCC_AHBENR_SDIO_Pos) ///< SDIO clock enable
- #define RCC_AHBENR_CRC_Pos (12)
- #define RCC_AHBENR_CRC (0x01U << RCC_AHBENR_CRC_Pos) ///< CRC clock enable
- #define RCC_AHBENR_FLASH_Pos (13)
- #define RCC_AHBENR_FLASH (0x01U << RCC_AHBENR_FLASH_Pos) ///< FLASH clock enable
- #define RCC_AHBENR_SRAM_Pos (14)
- #define RCC_AHBENR_SRAM (0x01U << RCC_AHBENR_SRAM_Pos) ///< SRAM clock enable
- #define RCC_AHBENR_DMA1_Pos (21)
- #define RCC_AHBENR_DMA1 (0x01U << RCC_AHBENR_DMA1_Pos) ///< DMA1 clock enable
- #define RCC_AHBENR_DMA2_Pos (22)
- #define RCC_AHBENR_DMA2 (0x01U << RCC_AHBENR_DMA2_Pos) ///< DMA2 clock enable
- #define RCC_AHBENR_ETHMAC_Pos (25)
- #define RCC_AHBENR_ETHMAC (0x01U << RCC_AHBENR_ETHMAC_Pos) ///< ETHMAC clock enable
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_APB2ENR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_APB2ENR_TIM1_Pos (0)
- #define RCC_APB2ENR_TIM1 (0x01U << RCC_APB2ENR_TIM1_Pos) ///< TIM1 enable
- #define RCC_APB2ENR_TIM8_Pos (1)
- #define RCC_APB2ENR_TIM8 (0x01U << RCC_APB2ENR_TIM8_Pos) ///< TIM8 enable
- #define RCC_APB2ENR_UART1_Pos (4)
- #define RCC_APB2ENR_UART1 (0x01U << RCC_APB2ENR_UART1_Pos) ///< UART1 enable
- #define RCC_APB2ENR_UART6_Pos (5)
- #define RCC_APB2ENR_UART6 (0x01U << RCC_APB2ENR_UART6_Pos) ///< UART6 enable
- #define RCC_APB2ENR_ADC1_Pos (8)
- #define RCC_APB2ENR_ADC1 (0x01U << RCC_APB2ENR_ADC1_Pos) ///< ADC1 enable
- #define RCC_APB2ENR_ADC2_Pos (9)
- #define RCC_APB2ENR_ADC2 (0x01U << RCC_APB2ENR_ADC2_Pos) ///< ADC2 enable
- #define RCC_APB2ENR_ADC3_Pos (10)
- #define RCC_APB2ENR_ADC3 (0x01U << RCC_APB2ENR_ADC3_Pos) ///< ADC3 enable
- #define RCC_APB2ENR_SPI1_Pos (12)
- #define RCC_APB2ENR_SPI1 (0x01U << RCC_APB2ENR_SPI1_Pos) ///< SPI1 enable
- #define RCC_APB2ENR_EXTI_Pos (14)
- #define RCC_APB2ENR_EXTI (0x01U << RCC_APB2ENR_EXTI_Pos) ///< EXTI Block enable
- #define RCC_APB2ENR_SYSCFG_Pos (14)
- #define RCC_APB2ENR_SYSCFG (0x01U << RCC_APB2ENR_SYSCFG_Pos) ///< SYSCFG enable
- #define RCC_APB2ENR_COMP_Pos (15)
- #define RCC_APB2ENR_COMP (0x01U << RCC_APB2ENR_COMP_Pos) ///< COMP enable
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_APB1ENR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_APB1ENR_TIM2_Pos (0)
- #define RCC_APB1ENR_TIM2 (0x01U << RCC_APB1ENR_TIM2_Pos) ///< Timer 2 clock enable
- #define RCC_APB1ENR_TIM3_Pos (1)
- #define RCC_APB1ENR_TIM3 (0x01U << RCC_APB1ENR_TIM3_Pos) ///< Timer 3 clock enabled
- #define RCC_APB1ENR_TIM4_Pos (2)
- #define RCC_APB1ENR_TIM4 (0x01U << RCC_APB1ENR_TIM4_Pos) ///< Timer 4 clock enable
- #define RCC_APB1ENR_TIM5_Pos (3)
- #define RCC_APB1ENR_TIM5 (0x01U << RCC_APB1ENR_TIM5_Pos) ///< TIM5 Timer clock enable
- #define RCC_APB1ENR_TIM6_Pos (4)
- #define RCC_APB1ENR_TIM6 (0x01U << RCC_APB1ENR_TIM6_Pos) ///< TIM6 Timer clock enable
- #define RCC_APB1ENR_TIM7_Pos (5)
- #define RCC_APB1ENR_TIM7 (0x01U << RCC_APB1ENR_TIM7_Pos) ///< TIM7 Timer clock enable
- #define RCC_APB1ENR_WWDG_Pos (11)
- #define RCC_APB1ENR_WWDG (0x01U << RCC_APB1ENR_WWDG_Pos) ///< Window Watchdog clock enable
- #define RCC_APB1ENR_SPI2_Pos (14)
- #define RCC_APB1ENR_SPI2 (0x01U << RCC_APB1ENR_SPI2_Pos) ///< SPI 2 clock enable
- #define RCC_APB1ENR_SPI3_Pos (15)
- #define RCC_APB1ENR_SPI3 (0x01U << RCC_APB1ENR_SPI3_Pos) ///< SPI 3 clock enable
- #define RCC_APB1ENR_UART2_Pos (17)
- #define RCC_APB1ENR_UART2 (0x01U << RCC_APB1ENR_UART2_Pos) ///< UART 2 clock enable
- #define RCC_APB1ENR_UART3_Pos (18)
- #define RCC_APB1ENR_UART3 (0x01U << RCC_APB1ENR_UART3_Pos) ///< UART 3 clock enable
- #define RCC_APB1ENR_UART4_Pos (19)
- #define RCC_APB1ENR_UART4 (0x01U << RCC_APB1ENR_UART4_Pos) ///< UART 4 clock enable
- #define RCC_APB1ENR_UART5_Pos (20)
- #define RCC_APB1ENR_UART5 (0x01U << RCC_APB1ENR_UART5_Pos) ///< UART 5 clock enable
- #define RCC_APB1ENR_I2C1_Pos (21)
- #define RCC_APB1ENR_I2C1 (0x01U << RCC_APB1ENR_I2C1_Pos) ///< I2C 1 clock enable
- #define RCC_APB1ENR_I2C2_Pos (22)
- #define RCC_APB1ENR_I2C2 (0x01U << RCC_APB1ENR_I2C2_Pos) ///< I2C 2 clock enable
- #define RCC_APB1ENR_CRS_Pos (24)
- #define RCC_APB1ENR_CRS (0x01U << RCC_APB1ENR_CRS_Pos) ///< CRS 4 clock enable
- #define RCC_APB1ENR_CAN_Pos (25)
- #define RCC_APB1ENR_CAN (0x01U << RCC_APB1ENR_CAN_Pos) ///< CAN 5 clock enable
- #define RCC_APB1ENR_BKP_Pos (27)
- #define RCC_APB1ENR_BKP (0x01U << RCC_APB1ENR_BKP_Pos) ///< Backup interface clock enable
- #define RCC_APB1ENR_PWR_Pos (28)
- #define RCC_APB1ENR_PWR (0x01U << RCC_APB1ENR_PWR_Pos) ///< Power interface clock enable
- #define RCC_APB1ENR_DBGMCU_Pos (28)
- #define RCC_APB1ENR_DBGMCU (0x01U << RCC_APB1ENR_DBGMCU_Pos) ///< DBGMCU clock enable
- #define RCC_APB1ENR_DAC_Pos (29)
- #define RCC_APB1ENR_DAC (0x01U << RCC_APB1ENR_DAC_Pos) ///< DAC interface clock enable
- #define RCC_APB1ENR_UART7_Pos (30)
- #define RCC_APB1ENR_UART7 (0x01U << RCC_APB1ENR_UART7_Pos) ///< UART7 interface clock enable
- #define RCC_APB1ENR_UART8_Pos (31)
- #define RCC_APB1ENR_UART8 (0x01U << RCC_APB1ENR_UART8_Pos) ///< UART8 interface clock enable
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_BDCR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_BDCR_LSEON_Pos (0)
- #define RCC_BDCR_LSEON (0x01U << RCC_BDCR_LSEON_Pos) ///< External Low Speed oscillator enable
- #define RCC_BDCR_LSERDY_Pos (1)
- #define RCC_BDCR_LSERDY (0x01U << RCC_BDCR_LSERDY_Pos) ///< External Low Speed oscillator Ready
- #define RCC_BDCR_LSEBYP_Pos (2)
- #define RCC_BDCR_LSEBYP (0x01U << RCC_BDCR_LSEBYP_Pos) ///< External Low Speed oscillator Bypass
- #define RCC_BDCR_RTCSEL_Pos (8)
- #define RCC_BDCR_RTCSEL (0x03U << RCC_BDCR_RTCSEL_Pos) ///< RTCSEL[1:0] bits (RTC clock source selection)
- #define RCC_BDCR_RTCSEL_LSE (0x01U << RCC_BDCR_RTCSEL_Pos) ///< LSE oscillator clock used as RTC clock
- #define RCC_BDCR_RTCSEL_LSI (0x02U << RCC_BDCR_RTCSEL_Pos) ///< LSI oscillator clock used as RTC clock
- #define RCC_BDCR_RTCSEL_HSE (0x03U << RCC_BDCR_RTCSEL_Pos) ///< HSE oscillator clock divided by 128 used as RTC clock
- #define RCC_BDCR_RTCEN_Pos (15)
- #define RCC_BDCR_RTCEN (0x01U << RCC_BDCR_RTCEN_Pos) ///< RTC clock enable
- #define RCC_BDCR_BDRST_Pos (16)
- #define RCC_BDCR_BDRST (0x01U << RCC_BDCR_BDRST_Pos) ///< Backup domain software reset
- #define RCC_BDCR_DBP_Pos (24)
- #define RCC_BDCR_DBP (0x01U << RCC_BDCR_DBP_Pos) ///< DBP clock enable
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_CSR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_CSR_LSION_Pos (0)
- #define RCC_CSR_LSION (0x01U << RCC_CSR_LSION_Pos) ///< Internal Low Speed oscillator enable
- #define RCC_CSR_LSIRDY_Pos (1)
- #define RCC_CSR_LSIRDY (0x01U << RCC_CSR_LSIRDY_Pos) ///< Internal Low Speed oscillator Ready
- #define RCC_CSR_LSIOENLV_Pos (5)
- #define RCC_CSR_LSIOENLV (0x01U << RCC_CSR_LSIOENLV_Pos) ///< LSI output enable lower voltage
- #define RCC_CSR_PVDRSTEN_Pos (6)
- #define RCC_CSR_PVDRSTEN (0x01U << RCC_CSR_PVDRSTEN_Pos) ///< PVD reset enable
- #define RCC_CSR_LOCKUPEN_Pos (7)
- #define RCC_CSR_LOCKUPEN (0x01U << RCC_CSR_LOCKUPEN_Pos) ///< CPU lockup reset enable
- #define RCC_CSR_VDTRSTNEN_Pos (8)
- #define RCC_CSR_VDTRSTNEN (0x01U << RCC_CSR_VDTRSTNEN_Pos) ///< Voltage detect reset enable
- #define RCC_CSR_VDTRSTF_Pos (21)
- #define RCC_CSR_VDTRSTF (0x01U << RCC_CSR_VDTRSTF_Pos) ///< Voltage detect reset flag
- #define RCC_CSR_PVDRSTF_Pos (22)
- #define RCC_CSR_PVDRSTF (0x01U << RCC_CSR_PVDRSTF_Pos) ///< PVD reset flag
- #define RCC_CSR_LOCKUPF_Pos (23)
- #define RCC_CSR_LOCKUPF (0x01U << RCC_CSR_LOCKUPF_Pos) ///< CPU lockup reset flag
- #define RCC_CSR_RMVF_Pos (24)
- #define RCC_CSR_RMVF (0x01U << RCC_CSR_RMVF_Pos) ///< Remove reset flag
- #define RCC_CSR_PINRSTF_Pos (26)
- #define RCC_CSR_PINRSTF (0x01U << RCC_CSR_PINRSTF_Pos) ///< PIN reset flag
- #define RCC_CSR_PORRSTF_Pos (27)
- #define RCC_CSR_PORRSTF (0x01U << RCC_CSR_PORRSTF_Pos) ///< POR/PDR reset flag
- #define RCC_CSR_SFTRSTF_Pos (28)
- #define RCC_CSR_SFTRSTF (0x01U << RCC_CSR_SFTRSTF_Pos) ///< Software Reset flag
- #define RCC_CSR_IWDGRSTF_Pos (29)
- #define RCC_CSR_IWDGRSTF (0x01U << RCC_CSR_IWDGRSTF_Pos) ///< Independent Watchdog reset flag
- #define RCC_CSR_WWDGRSTF_Pos (30)
- #define RCC_CSR_WWDGRSTF (0x01U << RCC_CSR_WWDGRSTF_Pos) ///< Window watchdog reset flag
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_AHBRSTR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_AHBRSTR_GPIOA_Pos (0)
- #define RCC_AHBRSTR_GPIOA (0x01U << RCC_AHBRSTR_GPIOA_Pos) ///< GPIOA clock reset
- #define RCC_AHBRSTR_GPIOB_Pos (1)
- #define RCC_AHBRSTR_GPIOB (0x01U << RCC_AHBRSTR_GPIOB_Pos) ///< GPIOB clock reset
- #define RCC_AHBRSTR_GPIOC_Pos (2)
- #define RCC_AHBRSTR_GPIOC (0x01U << RCC_AHBRSTR_GPIOC_Pos) ///< GPIOC clock reset
- #define RCC_AHBRSTR_GPIOD_Pos (3)
- #define RCC_AHBRSTR_GPIOD (0x01U << RCC_AHBRSTR_GPIOD_Pos) ///< GPIOD clock reset
- #define RCC_AHBRSTR_GPIOE_Pos (4)
- #define RCC_AHBRSTR_GPIOE (0x01U << RCC_AHBRSTR_GPIOE_Pos) ///< GPIOE clock reset
- #define RCC_AHBRSTR_GPIOF_Pos (5)
- #define RCC_AHBRSTR_GPIOF (0x01U << RCC_AHBRSTR_GPIOF_Pos) ///< GPIOF clock reset
- #define RCC_AHBRSTR_GPIOG_Pos (6)
- #define RCC_AHBRSTR_GPIOG (0x01U << RCC_AHBRSTR_GPIOG_Pos) ///< GPIOG clock reset
- #define RCC_AHBRSTR_GPIOH_Pos (7)
- #define RCC_AHBRSTR_GPIOH (0x01U << RCC_AHBRSTR_GPIOH_Pos) ///< GPIOH clock reset
- #define RCC_AHBRSTR_SDIO_Pos (10)
- #define RCC_AHBRSTR_SDIO (0x01U << RCC_AHBRSTR_SDIO_Pos) ///< SDIO clock reset
- #define RCC_AHBRSTR_CRC_Pos (12)
- #define RCC_AHBRSTR_CRC (0x01U << RCC_AHBRSTR_CRC_Pos) ///< CRC clock reset
- #define RCC_AHBRSTR_DMA1_Pos (21)
- #define RCC_AHBRSTR_DMA1 (0x01U << RCC_AHBRSTR_DMA1_Pos) ///< DMA1 clock reset
- #define RCC_AHBRSTR_DMA2_Pos (22)
- #define RCC_AHBRSTR_DMA2 (0x01U << RCC_AHBRSTR_DMA2_Pos) ///< DMA2 clock reset
- #define RCC_AHBRSTR_ETHMAC_Pos (25)
- #define RCC_AHBRSTR_ETHMAC (0x01U << RCC_AHBRSTR_ETHMAC_Pos) ///< ETHMAC clock reset
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_SYSCFG Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_SYSCFG_PROGCHECKEN_Pos (0)
- #define RCC_SYSCFG_PROGCHECKEN (0x01U << RCC_SYSCFG_PROGCHECKEN_Pos) ///< Whether to check the number in Flash when writing to Flash
- #define RCC_SYSCFG_SECTOR1KCFG_Pos (1)
- #define RCC_SYSCFG_SECTOR1KCFG (0x01U << RCC_SYSCFG_SECTOR1KCFG_Pos) ///< The size of the Flash page when erased.
- #define RCC_SYSCFG_DATAPREFETCH_Pos (2)
- #define RCC_SYSCFG_DATAPREFETCH (0x01U << RCC_SYSCFG_DATAPREFETCH_Pos) ///< DATA prefetch module enable bit
- #define RCC_SYSCFG_PAD_OSC_TRIM_Pos (8)
- #define RCC_SYSCFG_PAD_OSC_TRIM (0x1FU << RCC_SYSCFG_PAD_OSC_TRIM_Pos) ///< Calibration value of external crystal vibration
- #define RCC_SYSCFG_OSC_LPFEN_Pos (14)
- #define RCC_SYSCFG_OSC_LPFEN (0x01U << RCC_SYSCFG_OSC_LPFEN_Pos) ///< External crystal oscillator low pass filtering enables
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_CFGR2 Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_CFGR2_TIMADVCKSEL_Pos (1)
- #define RCC_CFGR2_TIMADVCKSEL (0x01U << RCC_CFGR2_TIMADVCKSEL_Pos) ///< TIMADV_CKSEL
- #define RCC_CFGR2_TIMADV_PRE_Pos (1) ///<
- #define RCC_CFGR2_TIMADV_PRE (0x07U << RCC_CFGR2_TIMADV_PRE_Pos) ///< SYSCLK's advance points are controlled by the software Frequency coefficient
- #define RCC_CFGR2_FSMC_PRE_Pos (8)
- #define RCC_CFGR2_FSMC_PRE (0x1FU << RCC_CFGR2_FSMC_PRE_Pos) ///< FSMC Output clock frequency division factor
- #define RCC_CFGR2_APB1_CLK_HV_PRE_Pos (16)
- #define RCC_CFGR2_APB1_CLK_HV_PRE (0x0FU << RCC_CFGR2_APB1_CLK_HV_PRE_Pos) ///< APB1 Output clock frequency division factor
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_ICSCR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_ICSCR_TIME_CRS_SEL_Pos (0)
- #define RCC_ICSCR_TIME_CRS_SEL (0x01U << RCC_ICSCR_TIME_CRS_SEL_Pos) ///< Whether to use the CRS module as source
- #define RCC_ICSCR_HSI_CAL_SEL_Pos (11) ///<
- #define RCC_ICSCR_HSI_CAL_SEL (0x1FU << RCC_ICSCR_HSI_CAL_SEL_Pos) ///< Select the internal high speed clock calibration value
- #define RCC_ICSCR_HSI_CAL_SFT_Pos (16)
- #define RCC_ICSCR_HSI_CAL_SFT (0x3FU << RCC_ICSCR_HSI_CAL_SFT_Pos) ///< Internal high-speed clock calibration
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_PLLCFGR Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_PLLCFGR_PLLSRC_Pos (0)
- #define RCC_PLLCFGR_PLLSRC (0x01U << RCC_PLLCFGR_PLLSRC_Pos) ///< PLL entry clock source
- #define RCC_PLLCFGR_PLLXTPRE_Pos (1) ///<
- #define RCC_PLLCFGR_PLLXTPRE (0x01U << RCC_PLLCFGR_PLLXTPRE_Pos) ///< HSE divider for PLL entry
- #define RCC_PLLCFGR_PLL_ICTRL_Pos (2)
- #define RCC_PLLCFGR_PLL_ICTRL (0x03U << RCC_PLLCFGR_PLL_ICTRL_Pos) ///< PLL CP current control signals
- #define RCC_PLLCFGR_PLL_LDS_Pos (4)
- #define RCC_PLLCFGR_PLL_LDS (0x03U << RCC_PLLCFGR_PLL_LDS_Pos) ///< PLL lock detector accuracy select
- #define RCC_PLLCFGR_PLL_DP_Pos (8) ///<
- #define RCC_PLLCFGR_PLL_DP (0x07U << RCC_PLLCFGR_PLL_DP_Pos) ///< PLL divider factor DP
- #define RCC_PLLCFGR_PLL_DN_Pos (16)
- #define RCC_PLLCFGR_PLL_DN (0x7FU << RCC_PLLCFGR_PLL_DN_Pos) ///< PLL divider factor DN
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_HSIDLY Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_HSIDLY_HSI_EQU_CNT (0xFFU) ///< HSI delay time
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_HSEDLY Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_HSEDLY_HSI_EQU_CNT (0xFFFFU) ///< HSE delay time
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief RCC_PLLDLY Register Bit Definition
- ////////////////////////////////////////////////////////////////////////////////
- #define RCC_PLLDLY_HSI_EQU_CNT (0xFFU) ///< PLL delay time
- /// @}
- /// @}
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- #endif
- ////////////////////////////////////////////////////////////////////////////////
|