黑马程序员技术交流社区

标题: 【上海校区】STM32F4如何设置系统时钟,非常重要 [打印本页]

作者: 梦缠绕的时候    时间: 2018-8-22 09:16
标题: 【上海校区】STM32F4如何设置系统时钟,非常重要

STM32F4系统时钟树



STM32F4的系统时钟非常重要,涉及到整个系统的运行结果,无论是什么操作,都需要时钟信号,不同型号的微控制器的默认系统时钟配置是不同的,这里,给出两种配置STM32F407系统时钟的方法。方法一,采用官方库提供的配置(这里外部晶振8MHz,系统配置为168MHz)
可以看出,在进入main函数之前,系统调用了SystemInit函数.

我使用的是STM32F407,筛选可用信息如下:





综上,如果使用外部晶振8MHz,则可以得出默认配置中:


锁相环压腔振荡器时钟PLL_VCO =(HSE_VALUE/PLL_M)* PLL_N=8/ 8* 336 = 336MHz


系统时钟SYSCLK = PLL_VCO / PLL_P=336 / 2 = 168MHz


USB,SD卡时钟 = PLL_VCO / PLLQ=336 / 7 = 48MHz







如果外部时钟启动失败,系统会使用内部时钟


默认配置:


HCLK = SYSCLK / 1 = 168MHz ,AHB总线时钟


PCLK2 = HCLK / 2 = 84MHz


PCLK1 = HCLK / 4 = 42MHz

定时器初始化设置时计算定时时间需要用到该定时器时钟频率,具体原因详细看我整理的一篇博客文章,链接如下:

点击打开链接



方法二,根据需要重新进行配置(这里外部晶振25MHz,系统配置为168MHz)







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2