基础知识
1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。
①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。WDG
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。RTC
⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
2. 系统时钟SYSCLK可来源于三个时钟源:①、HSI振荡器时钟 ②、HSE振荡器时钟 ③、PLL时钟
3.STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL 输出的2分频、HSI、HSE、或者系统时钟。
4.任何一个外设在使用之前,必须首先使能其相应的时钟。
几个重要的时钟: SYSCLK(系统时钟) AHB总线时钟 APB1总线时钟(低速): 速度最高36MHz APB2总线时钟(高速): 速度最高72MHz PLL时钟
下面是一部分代码解释
寄存器清零操作
/* Reset HSEBYP bit */
RCC->CR &= (uint32_t)0xFFFBFFFF;
根据参考手册7.3要通过与运算将第18位清零:
清零所实现的功能: