STM32时钟配置

本文基于STM32F105系列,STM32F1系列的单片机应该都使用,其他单片机没有实际调试过。

时钟树


一、设置外部晶振频率(HSE)

根据硬件实际所外接的晶振频率,在软件内外部晶振频率。
文件:stm32f10x.h,找到如下代码:

STM32F10X_CL是互联型STM32单片机(STM32F105\STM32F107)。若是互联型STM32单片机,则修改117行对应的频率,默认是25MHz,此处由于我用的外部晶振是8MHz,因此改为8MHz。其它型号的单片机,则修改下面119行的频率。

二、设置系统时钟频率(SYSCLK)

文件:system_stm32f10x.c

以_VL结尾的是超值型STM32单片机(STM32F100),此处我们是STM32F105芯片,因此使用else内的代码。系统时钟频率可根据需要配置,这里我们使用默认的72MHz。

三、设置HCLK\PCLK1\PCLK2

HCLK\PCLK1\PCLK2的频率,通过配置AHB预分频器、APB1预分频器和APB2预分频器的分频系数来实现。
文件:system_stm32f10x.c
找到与系统时钟频率对应的主频配置函数SetSysClockTo72(),这里以72MHz为例。此函数内有如下代码:

四、设置PREDIV1CLK

此部分设置PREDIV2、PLL2MUL、PREDIV1SCR、PREDIV1四个功能块,1035和1036行先对寄存器相应位进行清零,1037和1038行按需求进行配置。

五、设置PLLCLK

此部分设置PLLSCR、PLLMUL功能块,同样是先清零再配置。

六、选择系统时钟的时钟源

此部分设置SW,先清零再设置。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值