- 2
- 0
- 约1.47千字
- 约 4页
- 2022-11-28 发布于安徽
- 举报
STM32F4时钟配置库函数详解
在STM32中,所有的应⽤都是基于时钟,所以时钟的配置就尤为重要了,⽽不能仅仅只知道使⽤默认时
钟。
STM32F4的时钟树如上图所⽰,HSE为外部接⼊的⼀个8M的时钟,然后再给PLL提供输⼊时钟,经过分
频倍频后产⽣PLLCLK时钟,为SYSCLK提供基础时钟来源。
配置的步骤:
1. 将RCC寄存器重新设置为默认值
2. 打开外部⾼速时钟晶振HSE
3. 等待HSE时钟晶振⼯作
4. 设置AHB时钟也就是HCLK时钟
5. 设置⾼速APB1时钟也就是PCLK1
6. 设置低速APB2时钟也就是PCLK2
7. 设置PLL
8. 打开PLL
9. 等待PLL⼯作
10. 设置系统时钟
11. 判断系统时钟是否为PLL时钟
重点设置为PLL的配置:
void RCC_PLLConfig( uint32_t RCC_PLLSource,
uint32_t PLLM,
uint32_t PLLN,
uint32_t PLLP,
uint32_t PLLQ)
RCC_PLLSource为选择的输⼊时钟源,在这⾥为HSE
PLLM :VCO输⼊时钟分频因⼦,取值2-63 经分频后输⼊时钟范围要在1-2M内PLLN :VCO输出时钟倍
频因⼦,取值192-432经倍频后输出时钟范围要在192-432 PLLP:SYSCLK时钟分频因⼦,取值2、4、6、8
PLLQ:OTG、FS、SDIO、RNG时钟分频因⼦,取值4-15 ,分频后最⾼48M
PLL_VCO输出时钟 = (RCC_PLLSource/PLLM)*PLLN
SYSCLK = ( (RCC_PLLSource/PLLM)*PLLN)/PLLP
OTG、FS、SDIO、RNG Clock = ( (RCC_PLLSource/PLLM)*PLLN)/PLLN
所以要将系统时钟配置成120M则应设置参数(RCC_PLLSource_HSE,8,240,2,2);在这⾥RCC_PLLConfig
(RCC_PLLSource_HSE,8,240,2,2);
SYSClock = 8/8*240/2 = 120M
void RCC_ClockConfig(void)
{
RCC_DeInit();
RCC_HSEConfig( RCC_HSE_ON );
if(SUCCESS RCC_WaitForHSEStartUp())
{
RCC_HCLKConfig (RCC_SYSCLK_Div1);
RCC_PCLK1Config (RCC_HCLK_Div1);
RCC_PCLK2Config (RCC_HCLK_Div1);
RCC_PLLConfig (RCC_PLLSource_HSE,8,240,2,2);
//SYSClock = 8/8*240/2 = 120M
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus ( RCC_FLAG_PLLRDY) RESET ) {
}
RCC_SYSCLKConfig ( RCC_SYSCLKSource_PLLCLK );
while(RCC_GetSYSCLKSource() != 0x08)
{
}
}
}
时钟信号可由PA8和PC9引脚输出查看。
您可能关注的文档
最近下载
- 异常子宫出血诊断与治疗指南(2022更新版).pptx VIP
- 水利工程监理规划.docx VIP
- 铁法煤业(集团)有限公司大兴煤矿升级改造.doc VIP
- 《老子道德经》上下卷(河上公注明嘉靖时期顾氏世德堂刊本).pdf VIP
- 春天吹着口哨.doc VIP
- 量子输运格林函数方法.doc VIP
- 2025至2030中国小型基站行业深度研究及发展前景投资评估分析.docx
- 安静书素材-0024.我们去购物LetsGoShopping-SweetShop.pdf VIP
- 《橇装式汽车加油站技术标准》SHT 3134-2023.docx VIP
- 廖彩杏英语绘本汽车安静书Cars-Quiet-Book(1-12页).pdf VIP
原创力文档

文档评论(0)