arm时钟配置

本文探讨了在使用ARM程序时如何理解和配置系统时钟。通过分析`system_stm32f4xx.c`库文件中的`SystemInit()`函数和`SetSysClock()`函数,详细解释了如何开启HSE、配置HCLK、PCLK2和PCLK1,并讨论了在HSE为8MHz时如何利用PLL提高频率。关键参数如PLL_M、PLL_N、PLL_P和PLL_Q的定义和作用也进行了说明,为调整系统时钟频率提供了指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般大家在使用arm程序时,都是参考已经写好的程序,这样下来既方便又省事,但是每当被问及底层的问题时,往往会出现一知半解的情况,当碰到关于出现时钟发面的问题时,往往无从下手。比如系统时钟配置的问题,楼主之前也是挪用成熟的代码,虽然功能实现了,但仍然感觉了解的不太彻底,趁此机会,就好好的看了下系统时钟的代码。

系统时钟在配置时,应用程序在system_stm32f4xx.c库文件中,在该文件中有一个void SystemInit(void)函数,该函数如下:



函数的前一部分都是对系统寄存器进行初始化操作,具体参考芯片寄存器,主要配置在SetSysClock()函数中,

SetSysClock()函数如下(该函数包括了挺多芯片,这里我选择型的选取的407):


该处程序主要开启了HSE,以及对HCLK,PCLK2,PCLK1进行初始化,当HSE为8Mhz时,此处的频率略低,那么如何提高频率呢,当然需要PLL了,接下来的程序就是对PLL进行配置,如下


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值