STM32F10X_使用HSE配置系统时钟为72MHZ

目录

1. 参考文献

2. RCC中的时钟设置

2.1 系统初始化函数

2.2 时钟系统时钟函数

3. 系统时钟

3.1 HSE

3.2 PLL时钟源

3.3 PLL时钟

3.4 系统时钟

3.5 总线时钟

3.6 PCLK2

3.7 PCLK1


1. 参考文献

STM32F10X-中文参考手册》;

2. RCC中的时钟设置

RCC :reset clock control (复位和时钟控制器)

2.1 系统初始化函数

SystemInit(); 

其中有如下:

    /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */
    /* Configure the Flash Latency cycles and enable prefetch buffer */
    SetSysClock();

2.2 时钟系统时钟函数

在setsysclock()函数中有时钟系统时钟函数:SetSysClockTo72();

3. 系统时钟

3.1 HSE

HSE 是高速的外部时钟信号,可由晶振提供。使用无源晶振时,由OSC_IN和OSC_OUT进入,一般选用8M的晶振。

3.2 PLL时钟源

 

PLL时钟来源:HSE和HSI/2。

此处,使用HSE作为PLL时钟来源。代码在SetSysClockTo72()设置如下:

    /* Enable HSE */    //((uint32_t)0x00010000)
    RCC->CR |= ((uint32_t)RCC_CR_HSEON);//Bit 16 HSEON: HSE clock enable



     /* HCLK = SYSCLK */
    RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;//HPRE:AHB预分频//sysclk不分频
      
    /* PCLK2 = HCLK */
    RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;//PPRE2:高速APB预分频//HCLK(总线时钟)不分频
    
    /* PCLK1 = HCLK */
    RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;//PPRE1:低速APB预分频//HCLK 2分频


     /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));
    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

    //RCC_CFGR_PLLSRC_HSE //HSE = 8MHZ 作为PLLCLK的来源
    //RCC_CFGR_PLLXTPRE//HSE不分频
    //RCC_CFGR_PLLMULL9//9倍

    /* Select PLL as system clock source */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
    RCC->CFGR |= (uint32_t)RCC_CFGR_SW_PLL;
    //选PLLCLK作为sysclk的来源

3.3 PLL时钟

 PLL时钟是PLLCLK。

3.4 系统时钟

系统时钟是sysclk,sysclk的来源可以有:HSI、PLLCLK、HSE。

3.5 总线时钟

sysclk经过AHB预分频器后得到时钟叫APB总线时钟,即HCLK(总线时钟)。片上大部分外设的时钟都是经过 HCLK 分频得到。

3.6 PCLK2

PCLK2时钟是由HCLK经APB2预分频器得到。

3.7 PCLK1

PCLK1时钟是由HCLK经APB1预分频器得到。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值