RCC
STM32标准库外设中的RCC模块的AOI:主要用于配置和管理STM32的时钟系统和复为控制:
1.核心时钟配置函数:
void RCC_LSEConfig(uint8_t RCC_LSE);
功能:配置LSE,通常指外接的32.768KHZ晶振(用于RTC或独立看门狗)
参数:RCC_LSE_OFF:关闭 LSE
RCC_LSE_OFF:关闭 LSE
RCC_LSE_Bypass:使用外部旁路时钟(直接输入方波信号,无需晶振)
void RCC_LSICmd(FunctionalState NewState);
功能:启用或禁用LSI约 40 kHz,用于独立看门狗或低功耗 RTC)。
参数:ENABLE或 DISABLE
void RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource);
功能:选择 RTC 时钟源。
参数:RCC_RTCCLKSource_LSE:使用 LSE 作为 RTC 时钟
RCC_RTCCLKSource_LSI:使用 LSI 作为 RTC 时钟
RCC_RTCCLKSource_HSE_Div128:使用 HSE 分频后的时钟(仅部分型号支持)
void RCC_RTCCLKCmd(FunctionalState NewState);
功能:功能:启用或禁用 RTC 时钟。
参数:参数:ENABLE或 DISABLE
void RCC_GetClocksFreq(RCC_ClocksTypeDef*RCC_Clocks);
功能:获取当前系统各总线时钟频率(如 SYSCLK、HCLK、PCLK1、PCLK2)。
参数:指向 RCC_ClocksTypeDef结构体的指针,用于存储时钟值。:
2.外设时钟控制函数
void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
功能:启用或禁用 AHB 总线上的外设时钟(如 DMA、SDIO、以太网等)
参数:RCC_AHBPeriph:外设标识(如 RCC_AHBPeriph_DMA1)
NewState:ENABLE或 DISABLE
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
功能:控制 APB2 总线上的外设时钟(如 GPIO、USART1、ADC1、TIM1 等高速外设)
参数:RCC_APB2Periph:外设标识(如 RCC_APB2Periph_USART1)
NewState:ENABLE或 DISABLE
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
功能:控制 APB1 总线上的外设时钟(如 USART2/3、I2C、SPI、TIM2/3/4 等低速外设)
参数:RCC_APB1Periph:外设标识(如 RCC_APB1Periph_I2C1)
NewState:ENABLE或 DISABLE
3.外设复位控制函数
void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
功能::复位 APB2 总线上的外设(如 GPIO、ADC、TIM1)。
参数:外设标识 + ENABLE(复位)/ DISABLE(释放复位)
void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);
void RCC_BackupResetCmd(FunctionalState NewState);
功能:复位 备份域(包括 RTC 和备份寄存器)。
用途:在系统复位后初始化备份区域。
#ifdef STM32F10X_CL
void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
功能:仅适用于 STM32F10X_CL 系列(互联型),复位 AHB 总线上的外设(如 USB OTG、以太网)。
4.安全与监控函数
void RCC_ClockSecuritySystemCmd(FunctionalState NewState)
功能:启用/禁用 时钟安全系统(CSS)。
作用:当 HSE 时钟失效时自动切换至 HSI,并触发中断。
void RCC_MCOConfig(uint8_t RCC_MCO)
功能:配置 微控制器时钟输出(MCO) 引脚。
参数:选择输出的时钟源(如 SYSCLK、HSI、HSE、PLLCLK)。
5.状态与中断管理函数
FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG);
功能:检查 RCC 状态标志(如 HSE 就绪、PLL 锁定、时钟失效等)。
返回值:SET(标志置位)或 RESET(标志未置位)
void RCC_ClearFlag(void);
功能:清除 所有 RCC 状态标志(用于错误后恢复)。
ITStatus RCC_GetITStatus(uint8_t RCC_IT);
功能:检查 RCC 中断标志(如时钟安全中断、PLL 就绪中断)
void RCC_ClearITPendingBit(uint8_t RCC_IT);
功能:清除 指定的 RCC 中断挂起标志
3173

被折叠的 条评论
为什么被折叠?



