STM32第九节(中级篇):RCC(第二节)——讲解系统时钟配置函数SetSysClockTo72

目录

前言

STM32第九节(中级篇):RCC(第二节)——讲解系统时钟配置函数SetSysClockTo72

代码内容位置及检索

分析代码 

代码展示

时钟控制使能

闪存控制寄存器

配置AHP,APB1,APB2的总线时钟

配置锁相环时钟 

超频操作

小结


前言

        上节课我们讲了理论部分,那么我们这节课讲一下系统时钟配置函数SetSysClockTo72(固件库里面的系统时钟配置函数)。

        创作不易,点个关注吧!


STM32第九节(中级篇):RCC(第二节)——讲解系统时钟配置函数SetSysClockTo72

代码内容位置及检索

        首先我们拷贝一份之前固件库输出使得LED灯亮起的程序到一个新建的文件夹中,然后打开程序文件。找到其中的启动文件。在我们刚开始还没有stm32f10x.h文件时,我们曾写过一个函数但里面什么都没有,目的是为了骗过编译软件不报错。而这个函数就是 SystemInit 函数,那么他就是配置我们系统时钟的函数。

        我们右键点开该函数,发现该函数下有一个 SetSysClock(void)函数,我们打开该函数发现里面就是我们要使用的时钟类型,包括从24MHz到72MHz。        我们点开SYSCLK_FREQ定义,我们可以发现这里配置了宏定义。官方默认为72MHz,所以我们这里默认为72MHz输出。

分析代码 

代码展示

        紧接着我们就分析系统时钟配置函数SetSysClockTo72的具体代码:

        我们先看,#ifdef STM32F10X_CL这句代码写的是互联型的板子,而我们这里使用的是基础板,这里使用了条件编译的宏来区分代码。这里我们发现,我们不需要使用互联型的代码,那么我们可以对于这串代码进行瘦身并翻译注释:

/**
  * @brief  Sets System clock frequency to 72MHz and configure HCLK, PCLK2 
  *         and PCLK1 prescalers. 
  * @note   This function should be used only after reset.
  * @param  None
  * @retval None
  */
static void SetSysClockTo72(void)
{
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
  
  /* SYSCLK, HCLK, PCLK2 and 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值