基于STM32C8T6的智能小车项目时钟配置

news/2025/2/3 22:58:37/

一、时钟树简介


  • HSE 是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,频率从 3-25MHZ 不等。当使用有源晶振时,时钟从 OSC_IN 引脚进入,OSC_OUT 引脚悬空,当选用无源 晶振时,时钟从 OSC_IN OSC_OUT 进入,并且要配谐振电容。
  • HSE 最常使用的就是 8M 的无源晶振。当确定 PLL 时钟来源的时候,HSE 可以不分频 或者 2 分频,这个由时钟配置寄存器 CFGR 的位 17PLLXTPRE 设置,HSE 一般设置为不分频
  • PLL时钟源:内部高速时钟【HSI】二分频 得到PLL时钟源(HSI 是内部高速的时钟信号,频率为 8M,根据 温度和环境的情况频率会有漂移,一般不作为 PLL 的时钟来源)。HSE不分频得到PLL时钟源
  • PLL的时钟PLLCLK:可通过设置倍频因子[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],对PLL时钟来源进行倍频得到PLLCLK。由于HSE(由外接晶振决定,如果外接晶振为16M则需HSE二分频)为一般为8M,官方库文件系统时钟配置72M,所以配置为9倍频。则有我们熟知的PLLCLK=SYSCLK。
  •  系统时钟SYSCLK:由图可知系统时钟的来源可以是,HSIPLLCLK、HSE。ST 官方推荐的稳定运行时钟为72M,因此使用PLLCLK作为系统时钟的时钟来源。
  • AHB 总线时钟 HCLK:系统时钟经过AHB分频器(可[1,2,4,8,16,64,128,256,512]分频)得到HCLK至AHB总线,核心存储器、DMA。
  • APB1总线时钟HCLK1(AHB1的时钟HCLK1),HCLK 经过低速 APB 预分频器(APB1预分频器)得到,分频因子可以是:[1,2,4, 8,16],即最大为36M HCLK1=PCLK1= HCLK/2=36M
  • APB2 总线时钟 PCLK2 HCLK 经过高速 APB2 预分频器得到,分频因子可以是:[1,2,4,8,16],HCLK2 属 于高速的总线时钟,片上高速的外设就挂载到这条总线上 PCLK2 = HCLK = 72M。
  • AHB,是Advanced High performance Bus的缩写, 高级高性能总线;APB,是Advanced Peripheral Bus的缩写, 高级外设总线

二、工程配置

  • 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xxSTM32F102xx STM32F103xx微控制器。
  •  中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xxSTM32F102xx STM32F103xx微控制器。
  • 大容量产品 是指闪存存储器容量在 256K 至 512K 字节之间的 STM32F101xx STM32F103xx微控制器。

这里的容量是指FLASH的大小,判断方法如下:

  • 16KB≤FLASH≤32KB 选择:STM32F10X_LD
  • 64KB≤FLASH≤128KB 选择:STM32F10X_MD
  • 256KB≤FLASH≤512KB 选择:STM32F10X_HD

STM32F10X_MD, USE_STDPERIPH_DRIVER

三、RCC 配置

//  将HSE配置项目的时钟源  一般使用HSE配置为项目的时钟的来源
//  RCC :reset clock control 复位和时钟控制器
void Project_RCCConfig_HSE(void)
{// 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值volatile uint32_t HSEStartUpStatus=0;RCC_DeInit();               //  RCC时钟复位RCC_HSEConfig(RCC_HSE_ON);  //  配置外部高速时钟(HSE)  外部晶振作为时钟源 硬件使用的是8M的外部晶振HSEStartUpStatus = RCC_WaitForHSEStartUp();  //  等待HSE稳定  SUCCESS 稳定   ERROR 错误if(HSEStartUpStatus==SUCCESS){FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);   // 使能FLASH 预存取缓冲区FLASH_SetLatency(FLASH_Latency_2);                      // 设置延迟周期RCC_HCLKConfig(RCC_SYSCLK_Div1);  // HCLK 72MRCC_PCLK1Config(RCC_HCLK_Div2);   // HCLK1=PCLK1=36M=HCLK/2   低速总线时钟RCC_PCLK2Config(RCC_HCLK_Div1);   // HCLK2=PCLK2=72M=HCLK     高速总线时钟RCC_PLLConfig(RCC_PLLSource_HSE_Div1, 9);  // 配置锁相环时钟源和倍增因子。RCC_PLLCmd(ENABLE); // 开启PLL while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);// 检查是否设置了指定的RCC标志RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);          // 当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLKwhile (RCC_GetSYSCLKSource() != 0x08);              // 读取时钟切换状态位,确保PLLCLK被选为系统时钟}}

四、定时配置  使用定时器三统领整个项目


http://www.ppmy.cn/news/287453.html

相关文章

服务器性能是什么,什么是服务器性能的显卡,怎么理解?

什么是服务器性能的显卡,怎么理解? 如果单说“”二字就是个伪命题,服务分不同的性能级别,有些刀片器的性能甚至还不如某些发烧级的游戏台式机,那它所用的显卡性能也会比较一般,如果是说哪些显卡是专门为服务…

i78700k配什么显卡好_i7 8700配什么显卡好 最新适合搭配i7-8700的显卡推荐

i7-8700配什么显卡好呢?我们知道酷睿i7-8700是去年上市的一款不支持超频处理器,是八代酷睿系列处理器当中非常高的一款处理器,对于关注多任务且不超频的朋友来说,这款处理器是首选之一。对于这款处理器本站推荐的配置平台还是蛮多…

i78700k配什么显卡好_八代i7 8700配什么显卡好?intel酷睿i7-8700适合搭配的显卡推荐...

i7-8700是intel最新发布的全新Coffce Lake架构处理器,显然是七代i7-7700的继承者,也是2018年逐渐普及的处理器,相比历代i7-7700综合性能提升还是蛮大的,intel被AMD锐龙逼得放弃了“挤牙膏”的方式更新产品,无疑对装机用…

一个计算机能插两块显卡吗,双显卡有什么好处(一台电脑安装两张不同的显卡)...

你的独立显卡还能打两年?你对你的电脑性能满意吗?游戏屏幕显示的信息细致吗?如果你是一个优秀的游戏玩家,你能说你已经觉得展示自己的独特功能就足够了吗?不够,不够。即使是最好的独立显卡特性,也只能充分发挥图像数据信息的独立解决方案。如果两个独立显卡共享在一起,…

pr用什么显卡比较好_用PR软件做后期剪辑,主要需要怎样的主机配置-百度经验...

一、PR做视频剪辑的话,最消耗的是CPU和内存,对显卡要求不需要太高。 1、内存: PR的内存要的是大内存,非常大!不少PR主机都是16G,32G内存。鉴于现在内存不是很贵,可以考虑32G,甚至64G内存,单条2666Mhz的16G内存也就600元左右,64G大概也就2000多元,差不多一个显卡的钱…

什么计算机玩游戏好,电脑玩游戏什么配置好

DIY装机最大的特色在于其灵活的大配件以及高性价比,每个人都可以根据自己的需求,那么电脑玩游戏什么配置好呢?下面跟着学习啦小编来一起了解下吧。 电脑玩游戏好配置介绍 1、显卡,在看所有的配置之前,肯定首要的就是显卡。现在无…

显卡GTX为什么会有那么多品牌

的确是不关华硕技嘉微星的事,NVIDIA只设计和生产GPU芯片组,一般是找代工厂做,但是只提供芯片组并不会变成显卡,这样就由华硕,技嘉,微星,这些厂商自己布局PCB板,散热器,这…

【MySQL数据库 | 第十五篇】事务

目录 前言: 介绍事务: 控制事务: 事务四大特性: 并发事务问题: 事务隔离级别: 总结: 前言: 这章我们将进入到MySQL基础篇的最后一章:事务,希望大家可以坚持下去&#xf…