1.硬件配置介绍
使用的是正点原子的精英STM32F103开发板,型号为STM32F103ZET6。
该开发板的HSE外接的时钟是8M的晶振;
LSE外接的是频率为 32.768kHz 的石英晶体,这个主要是 RTC 的时钟源。
2.STM32CubeMx配置时钟源
打开CubeMx后,默认配置大致如下图所示:
可以看到,默认在时钟源配置界面并不能进行设置HSE和LSE,需要在Pinout&Configuration界面的RCC中使能对应的高低速时钟配置,如下图所示:
高速和低速配置均有三个选项:
直接选第三个即可,第二个BYPASS Clock Source是旁路时钟源,指无需使用外部晶体时所需的芯片内部时钟驱动组件,直接从外界导入时钟信号,使用外部晶振时不能选择旁路时钟源。
将高速和低速的都选择Crystal/Ceramic Resonator后,切换到时钟配置界面,如下:
发现HSE可以选择外部时钟源了,但LSE仍然不能选择,因为LSE主要是给RTC用的,所以是不是还需要配置RTC使能呢?
重新在Pinout&Configuration界面使能RTC,勾选activate clock source即可,其他无改动:
再切换到时钟配置界面,发现可以对LSE进行配置了,将HSE和LSE配置,其他参数默认即可,暂时不需要调节时钟频率,重新生成代码即可。