时钟源
高速外部震荡器HSE
低速外部震荡器LSE
高速内部震荡器HSI
低速内部震荡器LSI
易混淆点:
RC(Resistor-Capacitor,电阻-电容振荡器)一般是内部时钟源
RTC(Real-Time Clock,实时时钟)用来断电时提供时钟源,防止数据丢失,通过VBAT口供电(一般是纽扣电池)
RCC(Reset and Clock Control,复位和时钟控制)
高速震荡器时钟树简图
SYSCLK的来源有三条一条是经过PLL锁相环倍频的时钟信号,另外两条是晶振直接提供时钟信号给SYSCLK
各种配置函数
外设时钟为了低功耗都是默认关闭的,要用到哪个外设就要把该外设的时钟打开
低速震荡器时钟树简图
时钟树详图
这里注意定时器2-7的前面那句话,虽然APB1最大36MHz但是定时器2到7是可以达到72MHz的
RTC的时钟源选择通过配置RTCSEL[1:0](它是RCC_BDCR寄存器的低两位)来配置,如果你只有高速晶振,建议你用高速晶振进行128分频后的作为RTC的时钟源
RTCSEL[1:0]
位用于选择 RTC 的时钟源:
00
: 无时钟01
: LSE(低速外部晶振)10
: LSI(低速内部 RC 振荡器)11
: HSE 的 预分频输出
- 在复位时,
RTCSEL[1:0]
默认值为00
(无时钟)。 RCC_BDCR
寄存器的完整复位值通常为0x00000000
。
MCO是输出时钟信号的引脚(一般是PA8)
FCLK是保证单片机在休眠(所有时钟均停止除了这个)的时候给唤醒中断提供的时钟,用在调试时断点的暂停(休眠)后的唤醒
看时钟树首先找到时钟源然后一条一条的看!!