当前位置:网站首页 > 编程语言 > 正文

时钟配置代码(时钟配置代码怎么写)



最近我在移植实时系统是遇到了一些问题,所以决定深入了解系统时钟的配置过程,当然想要学好stm32的小伙伴也有必要学习好时钟系统的配置,所以我将学习的过程再次记录,有写得不好的地方,望小伙伴指出。

之前我已经记录过一篇关于时钟系统的文章,对程序中不了解的地方可以看我之前的笔记“STM32时钟系统的配置寄存器和源码分析”。

这里我用的芯片是STM32F103C8T6,用的库函数是厂家提供的案例中提取出来的,这里可能和其他型号的mcu有细微差别,但是原理都是一样的。

在分析程序之前,需要了解一下相关寄存器的地址以及相应寄存器的作用,如下所示:

 
  

程序如下所示:

 
  

有不明白的地方只需要和相应的寄存器对应一下即可,相关的寄存说明请看“STM32时钟系统的配置寄存器和源码分析”。

 
  

这是根据文件中的宏定义选择相应的系统时钟配置函数,有需要更改的直接定义相应的宏即可,系统默认是的72MHz

 
  
  • 使能外部高速时钟
     
  • FLASH处理
     

    由于CPU的速度比flash的速度要快,所以这里需要让cpu等待两个时钟

  • 设置AHB、APB1、APB2预分频的值
     
  • 设置PLL的时钟源和倍频
     
  • 使能PLL时钟
     
  • 设置PLL作为系统时钟源
     

注意: SetSysClockTo72函数的作用是配置HCLK为72MHz、PCLK1为36MHz、PCLK2为72MHz,如下图所示:




头文件是stm32f10x_rcc.h,源文件是stm32f10x_rcc.c

  1. 时钟使能配置
     
  2. 时钟相关配置
     
  3. 其他时钟配置
     
 
  

从以上程序可知,不论是通过对寄存器还是通过库函数配置系统时钟的流程都是一样的,所以在后续需要更改系统时钟时可以通过上面的这个库函数试试。

到此这篇时钟配置代码(时钟配置代码怎么写)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ssh免密码登录配置(ssh免密码登录配置实验报告)2026-05-05 20:18:05
  • aw 是什么意思(away是什么意思)2026-05-05 20:18:05
  • 圈11符号(圈十符号)2026-05-05 20:18:05
  • 赛博朋克2077战斗系统(赛博朋克2077战斗系统太烂)2026-05-05 20:18:05
  • 卡巴斯基2021还卡吗(卡巴斯基现在还卡吗)2026-05-05 20:18:05
  • 工具类别怎么填写(工具怎么分类别)2026-05-05 20:18:05
  • oven的中文翻译(oven的中文翻译是洗碗机)2026-05-05 20:18:05
  • pdf图纸如何截图(pdf的截图)2026-05-05 20:18:05
  • 如何查看k8s版本(k8s查看pod)2026-05-05 20:18:05
  • 群晖 密码忘记(群晖密码忘了)2026-05-05 20:18:05
  • 全屏图片