关于RCC的配置

STM32 RCC配置详解
本文详细介绍了STM32的RCC(Reset and Clock Control)模块,包括RCC_CR寄存器和RCC_CFGR寄存器的各个位字段,如PLL使能、外部高速时钟设置、系统时钟切换等,对于理解STM32的时钟配置至关重要。






















一、寄存器

1.RCC_CR   时钟控制寄存器

位25      PLLRDY(r)  PLL时钟就绪标志       置1 PLL锁定


位24     PLLON               PLL使能置1  PLL使能


位19     CSSON

### 关于蓝桥杯嵌入式系统的RCC配置 在蓝桥杯嵌入式开发过程中,RCC(Reset and Clock Control)模块的正确配置对于整个系统的正常运行至关重要。以下是关于如何配置RCC的一些关键点: #### 1. **时钟源的选择** 在配置RCC之前,需要明确使用的时钟源。通常可以选择HSE(High-Speed External Oscillator)、HSI(High-Speed Internal RC Oscillator)或者PLL(Phase-Locked Loop)。通过设置 `System Core -> RCC` 中的相关选项来完成这一过程[^2]。 #### 2. **HSE的具体配置** 如果选择了外部晶振作为时钟源,则需进一步确认其频率参数以及启动模式。例如,在某些情况下,可以通过如下方式启用HSE: ```c RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; HAL_RCC_OscConfig(&RCC_OscInitStruct); ``` #### 3. **PLL倍频设定** 对于更高性能需求的应用场景来说,利用锁相环(PLL)对基础信号进行倍增是一种常见做法。下面展示了一段用于初始化PLL并调整输出频率至指定值的例子代码片段: ```c RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; __HAL_RCC_PLL_ENABLE(); while(!__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY)) {} RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_ALL; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2); ``` #### 4. **验证与时序优化** 完成上述基本步骤之后,还需要仔细核验各个部分的工作状态是否符合预期目标,并适当调节预分频器数值以达到最佳效能表现。此外,考虑到实际硬件环境可能存在差异性因素影响最终效果,因此建议多做几次实验测试以便找到最适合当前项目的解决方案[^1]。 以上便是有关蓝桥杯竞赛中涉及嵌入式系统RCC配置方面的相关内容介绍及其操作指南说明文档链接参考资料汇总情况概述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值