STM32之RCC库函数介绍以及应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cherish511842885/article/details/52792215

在RCC库函数中,我们主要介绍一下几个常用函数。
1.RCC_DeInit函数的功能是将外设RCC寄存器重设为默认值。这个函数不改动寄存器RCC_CR的HSITRIM[4:0]位,不会重置RCC_BDCR寄存器RCC_CSR。
2.CC_HSEConfig函数的功能是设置外部高速晶振(HSE),其输入参数是32位的RCC_HSE:HSE的新状态。产生该动作的先决条件是加入HSE被直接或通过PLL用于系统时钟,那么就不能被停振。且RCC_HSE可以有RCC_HSE_ON/RCC_HSE_OFF/RCC_HSE_Bypass三种定义,分别是HSE OFF,HSE ON,HSE 晶振被外部时钟旁路。其中旁路的意思是将芯片内部的用于外部晶体起振和功率驱动等的部分电路和XTAL_OUT引脚断开,这时使用的外部时钟是有源时钟或者其他STM32提供的CCO输出等时钟信号,直接单线从XTAL_IN输入,这样即使外部有晶体也震荡不起来了。你就直接理解成被断开就好。

3.RCC_WaitForHSEStartUP函数的功能是等待HSE起振,该函数将等待,知道HSE就绪或在超时的情况下退出。下面利用代码讲述该函数在系统时钟配置中的作用。
ErrorStatus HSEStartUPStatus;
//使能HSE
RCC_HSEConfig(RCC_HSE_ON);
//等待知道HSE起振或超时退出
HSEStartUPStatus = RCC_WaitForHSEStartUP();
if(HSEStartUPStatus == SUCCESS)
{
//在此处加入PLL和系统时钟的定义
}
else
{
//在此加入超时错误处理
}
4.函数RCC_PLLConfig函数的功能是设置PLL时钟源和倍频系数其中输入参数都是32位(u32)的RCC_PLLSource(PLL的输入时钟源)和RCC_PLLMul(倍频系数)。但是必须正确的设定软件,使得PLL输出时钟频率不超过72MHz。通过例子基本阐述这个函数的使用方法。
例:设定PLL的72MHz时钟输出使用8MHz外部晶振。
RCC_PLLConfig(PCC_PLLSource_HSE_Divl,RCC_PLLMul_9);
//这里涉及到参数的计算,希望网友们查询相关资料。










猜你喜欢

转载自blog.csdn.net/Cherish511842885/article/details/52792215