STM32F10XX如何修改时钟详细版

#STM32#
STM32F10XX如何修改时钟
概述:
以前在大学的时候学习stm32的时候,只管使用,不管基本原理,现在在工作的过程遇到类似的问题,可能有部分人对stm32时钟不是特别清楚,包括自己,那么自己借助这样的平台,整理时钟的关系,以促使对stm32时钟关系能够理解透彻一点。
首先贴一张stm32时钟树(STM32参考手册里面也有)。如图
在这里插入图片描述
从图中所示,除去Flash存储器编程接口时钟、全速USB OTG的48MHz时钟、I2S2和I2S3的时钟、 以太网MAC的时钟这四种时钟,所有的外设的时钟都是从从系统时钟(SYSCLK)得到。而如果要对系统时钟以及外设的时钟进行操作,只需要在固件库的system_stm32f10x.c文件里面进行相应的设置。如图
在这里插入图片描述
1、修改系统时钟即SYSCLK,只需要在111-115行代码处修改。例如,你要修改系统时钟为24MHz,只需要把111行代码取消注释,再把115注释掉即可。

在这里插入图片描述
2、修改AHB、APB1、APB2,只需要在设置对应的设置系统时钟(当系统时钟设置的为72M,那么就要去SetSysClockTo72()函数里面修改时钟)的函数里面修改即可。如图,HCLK下面的语句对应AHB的时钟,PCLK2下面的语句对应APB2(高速)的时钟,PCLK1下面的语句对应APB1的时钟,可以根据需要去修改相应分频系数。
还有一种方法就是可以调用stm32f10x_rcc.c里面的相应的函数进行设置也可以。
在这里插入图片描述
经过这一次的学习,自己对于如何修改时钟可以说掌握的还是不错的。以后如果对ADC、定时器等外设进行时钟修改时,可以很快就搞定了的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值