STM32 RCC标准库函数

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)。

参数:ENABLEDISABLE

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 时钟

参数:​参数​:ENABLEDISABLE

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

          NewStateENABLEDISABLE

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

功能:控制 ​APB2 总线上的外设时钟​(如 GPIO、USART1、ADC1、TIM1 等高速外设)

参数:RCC_APB2Periph:外设标识(如 RCC_APB2Periph_USART1

          NewStateENABLEDISABLE

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

功能:控制 ​APB1 总线上的外设时钟​(如 USART2/3、I2C、SPI、TIM2/3/4 等低速外设)

参数:RCC_APB1Periph:外设标识(如 RCC_APB1Periph_I2C1

          NewStateENABLEDISABLE

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 中断挂起标志

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值