什么是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
->RCC
其中Hight Speed Clock 和Low Speed Clock都是Disable
我们可以根据我们的项目选择合适的选项。
详细说明
对于BYPASS Clock Source(旁路时钟源),就是由外部给定一个时钟信号,一般用于作为同步时钟。可以在Clock Configuration中看到这个时钟是由外部输入的。而且是
单向的
。
而对于Crystal/Ceramic Resonator(晶体/陶瓷晶振),一般我们用的都是这个模式。可以看到时钟是“双向”的。
除此之外,我们还可以注意到,不论是Disable,BYPASS Clock Source,Crystal/Ceramic Resonator模式,都可以选用HSI/LSI作为时钟源,所以如果需要用到内部振荡器做时钟源可以直接把这里设为Disable.