STM32F103 HAL库中将SystemCoreClock设置成16Mhz的原因是什么,请给出详细原因与依据
时间: 2024-04-20 19:26:00 浏览: 195
STM32F103输出16路PWM
5星 · 资源好评率100%
在STM32F103系列的HAL库中,将SystemCoreClock设置为16MHz的原因是为了与默认的外部晶振频率相匹配。STM32F103系列的芯片通常使用8MHz的外部晶振作为系统时钟源。
在HAL库中,SystemCoreClock是一个全局变量,用来存储系统的核心时钟频率。该变量在启动时被初始化,并且用于配置其他模块,例如串口、定时器等,以确保它们能够正确地工作。
根据STM32F103系列的数据手册,当使用8MHz的外部晶振时,系统时钟(SYSCLK)默认为72MHz。这是通过将8MHz的晶振输入到PLL(锁相环)中,并使用PLL倍频来实现的。
HAL库中将SystemCoreClock设置为16MHz是为了与默认的外部晶振频率8MHz相匹配。这样可以确保其他模块的配置参数正确,以使它们能够与系统时钟同步工作。
需要注意的是,如果用户在自己的应用程序中更改了外部晶振的频率,那么也需要相应地更新SystemCoreClock的值,以确保HAL库能够正确地配置其他模块。
阅读全文