【嵌入式学习-STM32CubeMX学习】RCC时钟源配置及说明

什么是RCC

RCC(Reset and Clock Control)模块是STM32微控制器中的一个重要模块,它负责系统时钟的配置和控制.

在STM32CubeMX中,RCC模块提供了一系列选项来配置系统时钟。其中,High speed clock(HSC)是指高速时钟源,它可以由外部晶振或者外部时钟源提供。HSC的选项包括** Disable(禁用)**、Bypass Clock Source(旁路时钟源) Crystal/Ceramic Resonator(晶体/陶瓷振荡器)。 同理 Low speed clock(LSC)是指低速时钟源,选项和HSC一样。

LSC和HSC的作用如下:

  • LSC:用于提供低速时钟,例如I2C总线、UART、SPI等。
  • HSC:用于提供高速时钟,例如CPU、AHB总线、APB总线等。

请注意,这里只是简单介绍了每个选项的作用。如果您需要更详细的信息,请参考ST官方文档。

每个选项的作用如下:

  • Bypass Clock Source:旁路时钟源,不使用晶振或者外部时钟源,直接通过外界导入时钟信号。例如,如果您正在设计一个需要高精度时钟的应用程序,例如音频处理或数据采集,那么使用外部晶振作为高速时钟源是一个不错的选择。
  • Crystal/Ceramic Resonator:使用晶振或者外部时钟源提供高速时钟。例如,如果您正在设计一个需要与其他设备同步的应用程序,例如通信或控制系统,那么使用外部时钟源作为高速时钟源是一个不错的选择。

如何配置RCC

创建一个项目之后,在左侧栏中选择System Core ->

### 如何在STM32CubeMX中配置FreeRTOS时钟 #### 了解背景信息 在嵌入式领域,采用嵌入式实时操作系统(RTOS)能够更合理、有效地利用CPU资源,简化应用软件设计并提高系统可靠性实时性能[^5]。 #### 进行基本设置 当使用STM32CubeMX建立带有FreeRTOS的项目后,在Configuration标签页下找到FREERTOS按钮,并点击打开FREERTOS Configuration窗口。此操作允许访问多个与FreeRTOS相关的配置选项[^1]。 #### 设置时钟源 由于SysTick定时器会被FreeRTOS占用作为滴答计数器(Tick),因此需要额外提供一个独立于SysTick之外的时间基准给其他功能模块使用。这通常意味着要指定另一个可用作时间参考信号的硬件资源来代替默认情况下由SysTick提供的服务[^4]。 对于具体的时钟配置过程: - **选择合适的时基**:考虑到SysTick已经被分配给了RTOS内核用于处理任务调度等核心工作,建议选用HSE(高速外部振荡器)或者其他未被使用的内部/外部时钟源作为替代方案。 - **调整相关参数**:确保所选时钟源频率满足应用程序需求的同时不超过MCU支持的最大范围;任何超出安全界限的选择都会触发警告提示以便及时修正错误配置[^3]。 通过上述步骤可以在STM32CubeMX环境中成功完成针对FreeRTOS项目的时钟初始化设定,从而保障后续开发工作的顺利开展。 ```c // 示例代码片段展示如何定义新的时钟源 (假设选择了HSE) void SystemClock_Config(void){ RCC_OscInitTypeDef RCC_OscInitStruct = {0}; /* 配置 HSE */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值