【STM32学习笔记】时钟的配置

【STM32学习笔记】目录

时钟树

在这里插入图片描述

简单总结一下:

​ PLLCLK的来源有三个,HSE、HSE/2、HSI/2,一般选 HSE = 8M

​ SYSCLK(系统时钟)的来源有三个,PLLCLK(锁相环)、HSE、HEI,一般选 PLLCLK * 9 = 72M

​ AHB总线上的时钟 HCLK = SYSCLK = 72M

​ APB1总线上的时钟 PCLK1 = HCLK/2 = 36M

​ APB2总线上的时钟 PCLK2 = HCLK = 72M

官方固件库的时钟配置(通过寄存器)

static void SetSysClockTo72(void)
{
   
   
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
  
  /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/    
  /* 使能 HSE */    
  RCC->CR |= ((uint32_t)RCC_CR_HSEON);
 
  /* 等待HSE就绪并做超时处理 */
  do
  {
   
   
    HSEStatus = RCC->CR & RCC_CR_HSERDY;
    StartUpCounter++;  
  } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));

  if ((RCC->CR & RCC_CR_HSERDY) != RESET)
  {
   
   
    HSEStatus = (uint32_t)0x01;
  }
  else
  {
   
   
    HSEStatus = (uint32_t)0x00;
  }  

  // 如果HSE启动成功,程序则继续往下执行
  if (HSEStatus == (uint32_t)0x01)
  {
   
   
    // 使能预取指
    FLASH->ACR |= FLASH_ACR_PRFTBE;

    // Flash 2 wait state 
    FLASH-&g
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值