stm32F103系统时钟配置为外部时钟源 72M
时间: 2024-04-04 15:29:31 浏览: 161
STM32F103时钟配置流程
好的,针对您的问题,我提供以下步骤来配置STM32F103系统时钟为外部时钟源72M:
1. 首先,需要设置系统时钟源为外部时钟源。可以通过RCC函数库中的RCC_SYSCLKConfig()函数实现。具体代码如下:
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE); //将HSE作为系统时钟源
2. 然后,需要配置外部时钟源HSE。如果您使用的是标准的STM32F103开发板,可能已经有一个外部时钟源(如晶体振荡器)连接到了MCU的时钟输入引脚。您需要在代码中使能这个外部时钟源,可以通过RCC函数库中的RCC_HSEConfig()函数实现。例如,如果您使用的是晶体振荡器,可以使用以下代码使能它:
RCC_HSEConfig(RCC_HSE_ON); //使能HSE
while (RCC_WaitForHSEStartUp() == ERROR); //等待HSE稳定
3. 接着,需要配置PLL。PLL是一种将输入时钟倍频的电路,可以将外部时钟源的频率提高到MCU需要的频率。您可以使用以下代码将外部时钟源配置为PLL输入时钟:
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); //配置PLL输入时钟为HSE/1,倍频系数为9
RCC_PLLCmd(ENABLE); //使能PLL
while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //等待PLL稳定
注意,这里的倍频系数需要根据您需要的系统时钟频率进行调整。例如,如果您需要72MHz的系统时钟频率,那么PLL输出时钟频率为外部时钟源频率乘以倍频系数,即8MHz*9=72MHz。
4. 最后,需要将PLL输出时钟作为系统时钟源。您可以使用以下代码将PLL输出时钟作为系统时钟源:
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //将PLL输出时钟作为系统时钟源
while (RCC_GetSYSCLKSource() != 0x08); //等待系统时钟源切换完成
这样,您就成功将STM32F103系统时钟配置为外部时钟源72M了。
阅读全文