1、RCC
RCC即Reset and Clock Control,复位和时钟控制。通过stm32f10x结构图可以看出RCC控制着stm32的AHB系统总线,而AHB总线又桥接APB1和APB2,分别通过它们控制不同的片上外设。如果要使用某个片上外设的功能,必须先通过RCC打开相应的时钟控制。
2、RCC时钟树
HSE:High Speed External Clock signal,高速外部时钟信号,即是OSC_IN和OSC_OUT接口所接的4~16MHz的晶振,一般接8MHz。
LSE:Low Speed External Clock signal,低速外部时钟信号,即是OSC32_IN和OSC32_OUT接口,指外部用于RTC的32.768KHz晶振。
HSI:High Speed Internal Clock signal,高速内部时钟信号,出厂校准的8MHz内部RC振荡器。
LSI:Low Speed Internal Clock signal,高速内部时钟信号,带有校准功能的40KHz的内部RC振荡器。
RTC:Real Time Clock实时时钟,用于带有年、月、日、小时、分钟、秒钟的计时器。
PLL:锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
SYSCLK:系统时钟,最高72MHz。
外部晶振比较稳定而内部晶振的误差比较大,但如果对频率要求不高,如不涉及到串口通信和精确定时等情况时,则可以使用内部晶振。所以如果对频率要求不高,则一般是优先使用内部晶振。如果要省电,用到了SLEEP,则不能使用内部晶振,因为内部振荡会停止。