rcc->cr是指Reset and Clock Control (RCC)模块中的Control Register (CR),是STM32系列微控制器中常见的一个寄存器,其作用是控制系统时钟的启停以及分频。
RCC模块是一种系统控制模块,用来控制微控制器的时钟。STM32系列微控制器中,RCC模块是一个关键的模块,其能够决定STM32系列微控制器的性能和稳定性。RCC模块的主要功能包括:
- 配置微控制器内部时钟
- 控制时钟分频
- 提供系统时钟给其他模块使用
RCC模块中最重要的寄存器是Control Register (CR),它的作用是控制系统时钟的启停以及分频。CR寄存器共有32位,其中包括了很多控制位。其中比较常用的控制位有:
- HSEON (HSE clock enable):启动高速外部时钟
- HSEBYP (HSE clock bypass):旁路高速外部时钟
- PLLON (PLL enable):启动PLL时钟
- SW (System clock switch):系统时钟选择
在RCC模块初始化时,我们需要使用CR寄存器来配置系统时钟。例如,如果我们希望启动高速外部时钟(HSE),我们需要将CR寄存器的HSEON位设置为1,具体代码如下:
```
RCC->CR |= RCC_CR_HSEON;
```
同理,如果我们想要通过PLL时钟来驱动系统时钟,我们需要先将相应的寄存器进行配置并且打开PLL时钟,如下:
```
// Set PLL source and multiplier
RCC->PLLCFGR = PLL_SOURCE_HSE | PLL_MULTIPLIER_12;
// Enable PLL
RCC->CR |= RCC_CR_PLLON;
```
在使用CR寄存器时,我们需要注意以下几点:
- 对CR寄存器进行写入操作时,需要使用按位或(|)符号。
- 对CR寄存器进行读取操作时,需要使用按位与(&)符号。
- 对CR寄存器进行修改操作时,需要首先禁用相应的时钟,然后再修改相应的寄存器。
总之,对于STM32系列微控制器而言,RCC模块及其寄存器CR是非常重要的系统控制模块,使用时需要仔细阅读相关的文档以及参考资料,以避免出现系统不稳定等问题。