首页 > 其他分享 >RCC时钟初始化

RCC时钟初始化

时间:2022-09-24 13:13:02浏览次数:59  
标签:OscInit 初始化 PLL HSE ClkInit RCC 时钟

时钟树的简化版

 

解析

以锁相环为分隔

  前半部分:时钟源的选择同时使能外部时钟源(HSE/HSI)、时钟源的预先值(是否除以2)、锁相环使能同时选择锁相环时钟来源、锁相环倍频

  后半部分:选择要初始化的时钟类型(如系统时钟,AHB,APB)、选择系统时钟来源、AHB分频、APB分频

 

代码

void SystemClock()
{
    RCC_OscInitTypeDef RCC_OscInit;
    RCC_ClkInitTypeDef RCC_ClkInit;
    
    RCC_OscInit.OscillatorType = RCC_OSCILLATORTYPE_HSE;
    RCC_OscInit.HSEState = RCC_HSE_ON;
    RCC_OscInit.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
    RCC_OscInit.PLL.PLLState = RCC_PLL_ON;
    RCC_OscInit.PLL.PLLSource = RCC_PLLSOURCE_HSE;
    RCC_OscInit.PLL.PLLMUL = RCC_PLL_MUL9;
    HAL_RCC_OscConfig(&RCC_OscInit);

    RCC_ClkInit.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
    RCC_ClkInit.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
    RCC_ClkInit.AHBCLKDivider = RCC_SYSCLK_DIV1;
    RCC_ClkInit.APB1CLKDivider = RCC_HCLK_DIV2;
    RCC_ClkInit.APB2CLKDivider = RCC_HCLK_DIV1;
    HAL_RCC_ClockConfig(&RCC_ClkInit,FLASH_ACR_LATENCY_2);
}

 

标签:OscInit,初始化,PLL,HSE,ClkInit,RCC,时钟
From: https://www.cnblogs.com/toriyung/p/16725423.html

相关文章

  • 简化数据结构的初始化过程
    避免在每新建类时,都要重复实现构造器,因此可以定义一个公共基类,在基类中实现实例属性的初始化规则,此后在派生类中,只需要指定属性字段即可1classInit:2_fields=......
  • maven项目的初始化
    Maven自动导入和配置jar包官网下载bin.zip核心思想:约定大于配置有约束不要去违反配置环境变量M2_HOMEmaven目录下的bin目录MAVEN_HOMEmaven的目录在系统pa......
  • 代码阅读题-Java初始化顺序
    题目如下按理来说,初始化顺序应该是:静态代码块静态变量在静态代码块语句之前执行,因为向前引用非法(静态变量在静态代码块后执行)main()构造代码块构造方法但是......
  • centos8系统初始化一键优化脚本
    centos8系统初始化一键优化脚本color(){RES_COL=60MOVE_TO_COL="echo-en\\033[${RES_COL}G"SETCOLOR_SUCCESS="echo-en\\033[1;32m"......
  • Spring-01:初学资源准备及初始化spring项目
    1资源准备在学习Spring框架前,你需要先准备好相应的学习资源,以帮助更好地掌握基础知识,快速解决过程中遇到的问题。①spring官方文档https://spring.io/这里你可以快速......
  • 对一个时钟样的I型XRB的观测GS 1826-238
    对一个时钟样的I型XRB的观测 GS1826-238arXiv:2209.08275 [pdf, ps, other]AstroSatviewof`Clocked`bursterGS1826-238:broad-bandspectralnatureofpersist......
  • 安装k8s系统初始化的shell脚本
    ]#catinit_centos7.sh#!/bin/bashexportLANG="en_US.UTF-8"init_yum_repo(){echo"===================初始化yumbase源========================="sleep2cu......
  • 初始化gitlab仓库
    初始化gitlab仓库一、Git全局设置gitconfig--globaluser.name"yourgitlabusername"gitconfig--globaluser.email"yourgitlabuserpassword"二、创......
  • linux chrony 时钟服务配置
          chrony是ntp的改进,提供更快、更精准的时钟同步服务且兼容ntp,自RHEL7开始提供,RHEL8开始官方不再支持ntp,chrony包括chronyd与chronyc2部分,chronyd是后台......
  • 时钟质量在FPGA设计中重要的原因
    使用内部分频出来的时钟信号作为D触发器的工作时钟的缺点:一,时钟延迟不确定且比较大二,驱动能力变差 ......