RCC driver modules. More...
Data Structures | |
struct | RCC_ClocksTypeDef |
Modules | |
RCC_Exported_Constants | |
RCC_Private_Functions | |
Defines | |
#define | RCC_OFFSET (RCC_BASE - PERIPH_BASE) |
#define | CR_OFFSET (RCC_OFFSET + 0x00) |
#define | HSION_BitNumber 0x00 |
#define | CR_HSION_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (HSION_BitNumber * 4)) |
#define | CSSON_BitNumber 0x13 |
#define | CR_CSSON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (CSSON_BitNumber * 4)) |
#define | PLLON_BitNumber 0x18 |
#define | CR_PLLON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLON_BitNumber * 4)) |
#define | PLLI2SON_BitNumber 0x1A |
#define | CR_PLLI2SON_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PLLI2SON_BitNumber * 4)) |
#define | CFGR_OFFSET (RCC_OFFSET + 0x08) |
#define | I2SSRC_BitNumber 0x17 |
#define | CFGR_I2SSRC_BB (PERIPH_BB_BASE + (CFGR_OFFSET * 32) + (I2SSRC_BitNumber * 4)) |
#define | BDCR_OFFSET (RCC_OFFSET + 0x70) |
#define | RTCEN_BitNumber 0x0F |
#define | BDCR_RTCEN_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (RTCEN_BitNumber * 4)) |
#define | BDRST_BitNumber 0x10 |
#define | BDCR_BDRST_BB (PERIPH_BB_BASE + (BDCR_OFFSET * 32) + (BDRST_BitNumber * 4)) |
#define | CSR_OFFSET (RCC_OFFSET + 0x74) |
#define | LSION_BitNumber 0x00 |
#define | CSR_LSION_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (LSION_BitNumber * 4)) |
#define | CFGR_MCO2_RESET_MASK ((uint32_t)0x07FFFFFF) |
#define | CFGR_MCO1_RESET_MASK ((uint32_t)0xF89FFFFF) |
#define | FLAG_MASK ((uint8_t)0x1F) |
#define | CR_BYTE3_ADDRESS ((uint32_t)0x40023802) |
#define | CIR_BYTE2_ADDRESS ((uint32_t)(RCC_BASE + 0x0C + 0x01)) |
#define | CIR_BYTE3_ADDRESS ((uint32_t)(RCC_BASE + 0x0C + 0x02)) |
#define | BDCR_ADDRESS (PERIPH_BASE + BDCR_OFFSET) |
Functions | |
void | RCC_DeInit (void) |
Resets the RCC clock configuration to the default reset state. | |
void | RCC_HSEConfig (uint8_t RCC_HSE) |
Configures the External High Speed oscillator (HSE). | |
ErrorStatus | RCC_WaitForHSEStartUp (void) |
Waits for HSE start-up. | |
void | RCC_AdjustHSICalibrationValue (uint8_t HSICalibrationValue) |
Adjusts the Internal High Speed oscillator (HSI) calibration value. | |
void | RCC_HSICmd (FunctionalState NewState) |
Enables or disables the Internal High Speed oscillator (HSI). | |
void | RCC_LSEConfig (uint8_t RCC_LSE) |
Configures the External Low Speed oscillator (LSE). | |
void | RCC_LSICmd (FunctionalState NewState) |
Enables or disables the Internal Low Speed oscillator (LSI). | |
void | RCC_PLLConfig (uint32_t RCC_PLLSource, uint32_t PLLM, uint32_t PLLN, uint32_t PLLP, uint32_t PLLQ) |
Configures the main PLL clock source, multiplication and division factors. | |
void | RCC_PLLCmd (FunctionalState NewState) |
Enables or disables the main PLL. | |
void | RCC_PLLI2SConfig (uint32_t PLLI2SN, uint32_t PLLI2SR) |
Configures the PLLI2S clock multiplication and division factors. | |
void | RCC_PLLI2SCmd (FunctionalState NewState) |
Enables or disables the PLLI2S. | |
void | RCC_ClockSecuritySystemCmd (FunctionalState NewState) |
Enables or disables the Clock Security System. | |
void | RCC_MCO1Config (uint32_t RCC_MCO1Source, uint32_t RCC_MCO1Div) |
Selects the clock source to output on MCO1 pin(PA8). | |
void | RCC_MCO2Config (uint32_t RCC_MCO2Source, uint32_t RCC_MCO2Div) |
Selects the clock source to output on MCO2 pin(PC9). | |
void | RCC_SYSCLKConfig (uint32_t RCC_SYSCLKSource) |
Configures the system clock (SYSCLK). | |
uint8_t | RCC_GetSYSCLKSource (void) |
Returns the clock source used as system clock. | |
void | RCC_HCLKConfig (uint32_t RCC_SYSCLK) |
Configures the AHB clock (HCLK). | |
void | RCC_PCLK1Config (uint32_t RCC_HCLK) |
Configures the Low Speed APB clock (PCLK1). | |
void | RCC_PCLK2Config (uint32_t RCC_HCLK) |
Configures the High Speed APB clock (PCLK2). | |
void | RCC_GetClocksFreq (RCC_ClocksTypeDef *RCC_Clocks) |
Returns the frequencies of different on chip clocks; SYSCLK, HCLK, PCLK1 and PCLK2. | |
void | RCC_RTCCLKConfig (uint32_t RCC_RTCCLKSource) |
Configures the RTC clock (RTCCLK). | |
void | RCC_RTCCLKCmd (FunctionalState NewState) |
Enables or disables the RTC clock. | |
void | RCC_BackupResetCmd (FunctionalState NewState) |
Forces or releases the Backup domain reset. | |
void | RCC_I2SCLKConfig (uint32_t RCC_I2SCLKSource) |
Configures the I2S clock source (I2SCLK). | |
void | RCC_AHB1PeriphClockCmd (uint32_t RCC_AHB1Periph, FunctionalState NewState) |
Enables or disables the AHB1 peripheral clock. | |
void | RCC_AHB2PeriphClockCmd (uint32_t RCC_AHB2Periph, FunctionalState NewState) |
Enables or disables the AHB2 peripheral clock. | |
void | RCC_AHB3PeriphClockCmd (uint32_t RCC_AHB3Periph, FunctionalState NewState) |
Enables or disables the AHB3 peripheral clock. | |
void | RCC_APB1PeriphClockCmd (uint32_t RCC_APB1Periph, FunctionalState NewState) |
Enables or disables the Low Speed APB (APB1) peripheral clock. | |
void | RCC_APB2PeriphClockCmd (uint32_t RCC_APB2Periph, FunctionalState NewState) |
Enables or disables the High Speed APB (APB2) peripheral clock. | |
void | RCC_AHB1PeriphResetCmd (uint32_t RCC_AHB1Periph, FunctionalState NewState) |
Forces or releases AHB1 peripheral reset. | |
void | RCC_AHB2PeriphResetCmd (uint32_t RCC_AHB2Periph, FunctionalState NewState) |
Forces or releases AHB2 peripheral reset. | |
void | RCC_AHB3PeriphResetCmd (uint32_t RCC_AHB3Periph, FunctionalState NewState) |
Forces or releases AHB3 peripheral reset. | |
void | RCC_APB1PeriphResetCmd (uint32_t RCC_APB1Periph, FunctionalState NewState) |
Forces or releases Low Speed APB (APB1) peripheral reset. | |
void | RCC_APB2PeriphResetCmd (uint32_t RCC_APB2Periph, FunctionalState NewState) |
Forces or releases High Speed APB (APB2) peripheral reset. | |
void | RCC_AHB1PeriphClockLPModeCmd (uint32_t RCC_AHB1Periph, FunctionalState NewState) |
Enables or disables the AHB1 peripheral clock during Low Power (Sleep) mode. | |
void | RCC_AHB2PeriphClockLPModeCmd (uint32_t RCC_AHB2Periph, FunctionalState NewState) |
Enables or disables the AHB2 peripheral clock during Low Power (Sleep) mode. | |
void | RCC_AHB3PeriphClockLPModeCmd (uint32_t RCC_AHB3Periph, FunctionalState NewState) |
Enables or disables the AHB3 peripheral clock during Low Power (Sleep) mode. | |
void | RCC_APB1PeriphClockLPModeCmd (uint32_t RCC_APB1Periph, FunctionalState NewState) |
Enables or disables the APB1 peripheral clock during Low Power (Sleep) mode. | |
void | RCC_APB2PeriphClockLPModeCmd (uint32_t RCC_APB2Periph, FunctionalState NewState) |
Enables or disables the APB2 peripheral clock during Low Power (Sleep) mode. | |
void | RCC_ITConfig (uint8_t RCC_IT, FunctionalState NewState) |
Enables or disables the specified RCC interrupts. | |
FlagStatus | RCC_GetFlagStatus (uint8_t RCC_FLAG) |
Checks whether the specified RCC flag is set or not. | |
void | RCC_ClearFlag (void) |
Clears the RCC reset flags. The reset flags are: RCC_FLAG_PINRST, RCC_FLAG_PORRST, RCC_FLAG_SFTRST, RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST, RCC_FLAG_LPWRRST. | |
ITStatus | RCC_GetITStatus (uint8_t RCC_IT) |
Checks whether the specified RCC interrupt has occurred or not. | |
void | RCC_ClearITPendingBit (uint8_t RCC_IT) |
Clears the RCC's interrupt pending bits. |
RCC driver modules.
void RCC_AdjustHSICalibrationValue | ( | uint8_t | HSICalibrationValue | ) |
Adjusts the Internal High Speed oscillator (HSI) calibration value.
HSICalibrationValue,: | specifies the calibration trimming value. This parameter must be a number between 0 and 0x1F. |
None |
void RCC_AHB1PeriphClockCmd | ( | uint32_t | RCC_AHB1Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB1 peripheral clock.
RCC_AHBPeriph,: | specifies the AHB1 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB1PeriphClockLPModeCmd | ( | uint32_t | RCC_AHB1Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB1 peripheral clock during Low Power (Sleep) mode.
RCC_AHBPeriph,: | specifies the AHB1 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB1PeriphResetCmd | ( | uint32_t | RCC_AHB1Periph, | |
FunctionalState | NewState | |||
) |
Forces or releases AHB1 peripheral reset.
RCC_AHB1Periph,: | specifies the AHB1 peripheral to reset. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB2PeriphClockCmd | ( | uint32_t | RCC_AHB2Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB2 peripheral clock.
RCC_AHBPeriph,: | specifies the AHB2 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB2PeriphClockLPModeCmd | ( | uint32_t | RCC_AHB2Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB2 peripheral clock during Low Power (Sleep) mode.
RCC_AHBPeriph,: | specifies the AHB2 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB2PeriphResetCmd | ( | uint32_t | RCC_AHB2Periph, | |
FunctionalState | NewState | |||
) |
Forces or releases AHB2 peripheral reset.
RCC_AHB2Periph,: | specifies the AHB2 peripheral to reset. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB3PeriphClockCmd | ( | uint32_t | RCC_AHB3Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB3 peripheral clock.
RCC_AHBPeriph,: | specifies the AHB3 peripheral to gates its clock. This parameter must be: RCC_AHB3Periph_FSMC | |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB3PeriphClockLPModeCmd | ( | uint32_t | RCC_AHB3Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the AHB3 peripheral clock during Low Power (Sleep) mode.
RCC_AHBPeriph,: | specifies the AHB3 peripheral to gates its clock. This parameter must be: RCC_AHB3Periph_FSMC | |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_AHB3PeriphResetCmd | ( | uint32_t | RCC_AHB3Periph, | |
FunctionalState | NewState | |||
) |
Forces or releases AHB3 peripheral reset.
RCC_AHB3Periph,: | specifies the AHB3 peripheral to reset. This parameter must be: RCC_AHB3Periph_FSMC | |
NewState,: | new state of the specified peripheral reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB1PeriphClockCmd | ( | uint32_t | RCC_APB1Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the Low Speed APB (APB1) peripheral clock.
RCC_APB1Periph,: | specifies the APB1 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB1PeriphClockLPModeCmd | ( | uint32_t | RCC_APB1Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the APB1 peripheral clock during Low Power (Sleep) mode.
RCC_APB1Periph,: | specifies the APB1 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB1PeriphResetCmd | ( | uint32_t | RCC_APB1Periph, | |
FunctionalState | NewState | |||
) |
Forces or releases Low Speed APB (APB1) peripheral reset.
RCC_APB1Periph,: | specifies the APB1 peripheral to reset. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB2PeriphClockCmd | ( | uint32_t | RCC_APB2Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the High Speed APB (APB2) peripheral clock.
RCC_APB2Periph,: | specifies the APB2 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB2PeriphClockLPModeCmd | ( | uint32_t | RCC_APB2Periph, | |
FunctionalState | NewState | |||
) |
Enables or disables the APB2 peripheral clock during Low Power (Sleep) mode.
RCC_APB2Periph,: | specifies the APB2 peripheral to gates its clock. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_APB2PeriphResetCmd | ( | uint32_t | RCC_APB2Periph, | |
FunctionalState | NewState | |||
) |
Forces or releases High Speed APB (APB2) peripheral reset.
RCC_APB2Periph,: | specifies the APB2 peripheral to reset. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified peripheral reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_BackupResetCmd | ( | FunctionalState | NewState | ) |
Forces or releases the Backup domain reset.
NewState,: | new state of the Backup domain reset. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_ClearFlag | ( | void | ) |
Clears the RCC reset flags. The reset flags are: RCC_FLAG_PINRST, RCC_FLAG_PORRST, RCC_FLAG_SFTRST, RCC_FLAG_IWDGRST, RCC_FLAG_WWDGRST, RCC_FLAG_LPWRRST.
None |
None |
void RCC_ClearITPendingBit | ( | uint8_t | RCC_IT | ) |
Clears the RCC's interrupt pending bits.
RCC_IT,: | specifies the interrupt pending bit to clear. This parameter can be any combination of the following values:
|
None |
void RCC_ClockSecuritySystemCmd | ( | FunctionalState | NewState | ) |
Enables or disables the Clock Security System.
NewState,: | new state of the Clock Security System. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_DeInit | ( | void | ) |
Resets the RCC clock configuration to the default reset state.
None |
None |
void RCC_GetClocksFreq | ( | RCC_ClocksTypeDef * | RCC_Clocks | ) |
Returns the frequencies of different on chip clocks; SYSCLK, HCLK, PCLK1 and PCLK2.
RCC_Clocks,: | pointer to a RCC_ClocksTypeDef structure which will hold the clocks frequencies. |
None |
FlagStatus RCC_GetFlagStatus | ( | uint8_t | RCC_FLAG | ) |
Checks whether the specified RCC flag is set or not.
RCC_FLAG,: | specifies the flag to check. This parameter can be one of the following values:
|
The | new state of RCC_FLAG (SET or RESET). |
ITStatus RCC_GetITStatus | ( | uint8_t | RCC_IT | ) |
Checks whether the specified RCC interrupt has occurred or not.
RCC_IT,: | specifies the RCC interrupt source to check. This parameter can be one of the following values:
|
The | new state of RCC_IT (SET or RESET). |
uint8_t RCC_GetSYSCLKSource | ( | void | ) |
Returns the clock source used as system clock.
None |
The | clock source used as system clock. The returned value can be one of the following:
|
void RCC_HCLKConfig | ( | uint32_t | RCC_SYSCLK | ) |
Configures the AHB clock (HCLK).
RCC_SYSCLK,: | defines the AHB clock divider. This clock is derived from the system clock (SYSCLK). This parameter can be one of the following values:
|
None |
void RCC_HSEConfig | ( | uint8_t | RCC_HSE | ) |
Configures the External High Speed oscillator (HSE).
RCC_HSE,: | specifies the new state of the HSE. This parameter can be one of the following values:
|
None |
void RCC_HSICmd | ( | FunctionalState | NewState | ) |
Enables or disables the Internal High Speed oscillator (HSI).
NewState,: | new state of the HSI. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_I2SCLKConfig | ( | uint32_t | RCC_I2SCLKSource | ) |
Configures the I2S clock source (I2SCLK).
RCC_I2SCLKSource,: | specifies the I2S clock source. This parameter can be one of the following values:
|
None |
void RCC_ITConfig | ( | uint8_t | RCC_IT, | |
FunctionalState | NewState | |||
) |
Enables or disables the specified RCC interrupts.
RCC_IT,: | specifies the RCC interrupt sources to be enabled or disabled. This parameter can be any combination of the following values:
| |
NewState,: | new state of the specified RCC interrupts. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_LSEConfig | ( | uint8_t | RCC_LSE | ) |
Configures the External Low Speed oscillator (LSE).
RCC_LSE,: | specifies the new state of the LSE. This parameter can be one of the following values:
|
None |
void RCC_LSICmd | ( | FunctionalState | NewState | ) |
Enables or disables the Internal Low Speed oscillator (LSI).
NewState,: | new state of the LSI. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_MCO1Config | ( | uint32_t | RCC_MCO1Source, | |
uint32_t | RCC_MCO1Div | |||
) |
Selects the clock source to output on MCO1 pin(PA8).
RCC_MCO1Source,: | specifies the clock source to output. This parameter can be one of the following values:
| |
RCC_MCO1Div,: | specifies the MCO1 prescaler. This parameter can be one of the following values:
|
None |
void RCC_MCO2Config | ( | uint32_t | RCC_MCO2Source, | |
uint32_t | RCC_MCO2Div | |||
) |
Selects the clock source to output on MCO2 pin(PC9).
RCC_MCO2Source,: | specifies the clock source to output. This parameter can be one of the following values:
| |
RCC_MCO2Div,: | specifies the MCO2 prescaler. This parameter can be one of the following values:
|
None |
void RCC_PCLK1Config | ( | uint32_t | RCC_HCLK | ) |
Configures the Low Speed APB clock (PCLK1).
RCC_HCLK,: | defines the APB1 clock divider. This clock is derived from the AHB clock (HCLK). This parameter can be one of the following values:
|
None |
void RCC_PCLK2Config | ( | uint32_t | RCC_HCLK | ) |
Configures the High Speed APB clock (PCLK2).
RCC_HCLK,: | defines the APB2 clock divider. This clock is derived from the AHB clock (HCLK). This parameter can be one of the following values:
|
None |
void RCC_PLLCmd | ( | FunctionalState | NewState | ) |
Enables or disables the main PLL.
NewState,: | new state of the main PLL. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_PLLConfig | ( | uint32_t | RCC_PLLSource, | |
uint32_t | PLLM, | |||
uint32_t | PLLN, | |||
uint32_t | PLLP, | |||
uint32_t | PLLQ | |||
) |
Configures the main PLL clock source, multiplication and division factors.
RCC_PLLSource,: | specifies the PLL entry clock source. This parameter can be one of the following values:
|
PLLM,: | specifies the division factor for PLL VCO input clock This parameter must be a number between 0 and 63. |
PLLN,: | specifies the multiplication factor for PLL VCO output clock This parameter must be a number between 192 and 432. |
PLLP,: | specifies the division factor for main system clock (SYSCLK) This parameter must be a number in the range {2, 4, 6, or 8}. |
PLLQ,: | specifies the division factor for OTG FS, SDIO and RNG clocks This parameter must be a number between 4 and 15. |
None |
void RCC_PLLI2SCmd | ( | FunctionalState | NewState | ) |
Enables or disables the PLLI2S.
NewState,: | new state of the PLLI2S. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_PLLI2SConfig | ( | uint32_t | PLLI2SN, | |
uint32_t | PLLI2SR | |||
) |
Configures the PLLI2S clock multiplication and division factors.
PLLI2SN,: | specifies the multiplication factor for PLLI2S VCO output clock This parameter must be a number between 192 and 432. |
PLLI2SR,: | specifies the division factor for I2S clock This parameter must be a number between 2 and 7. |
None |
void RCC_RTCCLKCmd | ( | FunctionalState | NewState | ) |
Enables or disables the RTC clock.
NewState,: | new state of the RTC clock. This parameter can be: ENABLE or DISABLE. |
None |
void RCC_RTCCLKConfig | ( | uint32_t | RCC_RTCCLKSource | ) |
Configures the RTC clock (RTCCLK).
RCC_RTCCLKSource,: | specifies the RTC clock source. This parameter can be one of the following values:
|
None |
void RCC_SYSCLKConfig | ( | uint32_t | RCC_SYSCLKSource | ) |
Configures the system clock (SYSCLK).
RCC_SYSCLKSource,: | specifies the clock source used as system clock. This parameter can be one of the following values:
|
None |
ErrorStatus RCC_WaitForHSEStartUp | ( | void | ) |
Waits for HSE start-up.
None |
An | ErrorStatus enumeration value:
|