STM32的时钟系统

一、时钟系统框图

1.1、STM32F10x

1.2、STM32F40x

二、时钟系统

2.1、STM32F10x时钟源

HSI:RC振荡器,频率8MHz,精度不高
HSE:外接石英/陶瓷晶振(4MHz——16MHz)
LSI:RC振荡器,频率40KHz
LSE:外接晶振,32.768KHz石英晶振

2.2、STM32F40x时钟源

HSI振荡器时钟
HSE振荡器时钟
主 PLL (PLL)时钟

2.3、系统时钟初始化过程(STM32官方库中默认的初始化值)

2.3.1、参考启动流程可知,执行SystemInit函数和__main函数,在SystemInit中可以找到对应的时钟相关初始化操作

 LDR R0, =SystemInit BLX R0 LDR R0, =__main BX R0

2.3.2、系统启动初期,先配置使用HSI时钟作为时钟源,进行工作

注释:

MCO(MCU Clock Out):微控制器时钟输出
ADCPRE:ADC时钟
PPRE2:高速APB分频系数
PPRE1:低速APB分频系数
HPRE:AHB预分频系数
SW:系统时钟切换(开始时,系统时钟切换到HSI,由它作为系统初始化时钟)

RCC->CR|=(uint32_t)0x00000001;//RCC_CR寄存器第0位置1:打开HSI/* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */#ifndef STM32F10X_CL(CL:互联型产品)RCC->CFGR&=(uint32_t)0xF8FF0000;#elseRCC->CFGR&=(uint32_t)0xF0FF0000;//0xF0FF0000 ---> 1111 0000 1111 1111 0000 0000 0000 0000(b) [31:28][23:20][19:16] = 1#endif /* STM32F10X_CL *///[26:24] = 000(b) MCO:没有时钟输出//[10:8] = 000(b) HCLK不分频//[7:4] = 0000(b) SYSCLK不分频//[3:2] = 00(b) SWS(SW状态标志位)//[1:0]=00(b)HSI作为系统时钟

注:HSI直接作为系统时钟使用,没有用到PLL

2.3.3、SetSysClock()

#define SYSCLK_FREQ_72MHz 72000000SetSysClockTo72();

-->RCC->CR|=((uint32_t)RCC_CR_HSEON);//#define RCC_CR_HSEON ((uint32_t)0x00010000) RCC_CR时钟控制寄存器:第16bit:1:开启HSE振荡器,0:关闭-->/* HCLK = SYSCLK */

RCC->CFGR|=(uint32_t)0;

/* PCLK2 = HCLK */

RCC->CFGR|=(uint32_t)0;

/* PCLK1 = HCLK */

RCC->CFGR|=(uint32_t)(0x400);//HCLK(APB1预分频器):2分频    SYSCLK(AHB预分频器):不分频    HCLC(APB2预分频器):不分频/* 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);//[16]=1:HSE时钟作为PLL输入时钟 [17]=0:HSE不分频 [21:18]=0111:PLL 9倍频输出(8*9=72MHz)-->/* Enable PLL */

RCC->CR|=RCC_CR_PLLON;

/* Select PLL as system clock source */

RCC->CFGR&=(uint32_t)((uint32_t)~(RCC_CFGR_SW));

RCC->CFGR|=(uint32_t)RCC_CFGR_SW_PLL;

APB(Advanced Peripheral Bus),片上外设总线。主要用于慢速片上外设与ARM核的通讯

AHB(Advanced High performance Bus),高性能总线。主要用于

【文章福利】:小编整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!~点击绿色通讯软件搜索wujidanpianji加入。

详细解析STM32的时钟系统相关推荐

  1. 解析stm32的时钟

    STM32 时钟系统  http://blog.chinaunix.net/uid-24219701-id-4081961.html STM32的时钟系统 ***   http://www.cnblo ...

  2. 【STM32】时钟系统RCC

    目录 一.时钟树 1.时钟源 2.高速外部时钟信号(HSE) 3.低速外部时钟信号(LSE) 4.系统时钟(SYSCLK) 5.时钟输出(MCO) 6.AHB 参考文献 一.时钟树 本文以STM32F ...

  3. STM32的时钟系统RCC详细整理

    一.综述: 1.时钟源 在STM32中,一共有5个时钟源,分别是HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz: ②HSE是高速外部时钟,可接石英/陶瓷谐 ...

  4. STM32的时钟系统RCC详细整理(转)

    一.综述: 1.时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI . HSE . LSI . LSE . PLL . ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz : ② ...

  5. STM32开发 -- 时钟系统详解

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/81558649 上一篇文章讲了RTC,里面其实已经包含了时钟系统的介绍了.这篇 ...

  6. stm32的时钟系统

    这个图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟. 从时钟频率来说,又分为高速时钟和低速时钟,高速时钟是提供给芯片主体的主时钟,而低速时钟只是提供给芯片中的RTC(实时时 ...

  7. 【STM32】时钟系统知识

    基础知识 1. STM32 有5个时钟源:HSI.HSE.LSI.LSE.PLL. ①.HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高. ②.HSE是高速外部时钟,可接石英/陶瓷谐振器,或 ...

  8. 【STM32】STM32的时钟系统

  9. STM32——时钟系统RCC详细介绍

    STM32的时钟系统学习,主要集中在时钟树的分析应用,时钟树里面有很多的时钟,它具体怎么配置,或者说我们的固件库函数是怎么配置的,这就是我们需要掌握的地方,最后我们达到的目的就是编写自己的库函数,实现 ...

  10. 【STM32】标准外设库,系统架构,时钟系统

    文章目录 标准外设库 系统架构 时钟系统 标准外设库 官方库目录列表如下:STM32 标准外设库 工程结构:STM32 不完全手册中新建出来的工程模板 系统架构 STM32 系统架构的知识可以在< ...

最新文章

  1. Linux下程序崩溃dump时的 core文件的使用方法
  2. python import from区别_python import 与 from .... import ...区别-阿里云开发者社区
  3. 由文档那些事儿引发的思考 - 领导,您该反思了
  4. K - TimesIsMoney(查询)
  5. 动态创建asp.net控件之我见
  6. python双向索引什么意思_python字典支持双向索引吗
  7. 手把手教你用ECharts画柱状图
  8. java 例子一对小兔子,Java解决标题:有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到第三个月后,每个月又生一对兔子。...
  9. Nginx源码分析 - 基础数据结构篇 - 数组结构 ngx_array.c(03)
  10. weblogic部署项目后内存溢出
  11. 电池测试系统连接服务器失败,电池测试系统服务器的设计与应用
  12. 蓝屏代码2345prot.sys
  13. 【CF487E】Tourists
  14. pysptk, 语音信号处理工具包( SPTK )的python 封装器
  15. Docker容器基础(二) - Docker公司的入场
  16. 模数转换器ADC的常用术语和主要技术指标(二)
  17. 固体物理半导体物理部分概念解析
  18. 如何使用双线性变换法将模拟电路滤波器设计成为数字滤波器?
  19. 这些年造过的一些轮子
  20. ABP官网下载内容太多改造为空项目,精简版ABP VNEXT

热门文章

  1. Google三驾马车——GFS、MapReduce、Bigtable
  2. 圣诞邀请助力活动H5系统开发
  3. php数据存储mysql_php mysqli 存储数据库
  4. calloc、realloc、malloc
  5. 火狐主页被360导航篡改(360安全卫士中的主页防护导致的)
  6. 【7gyy】密码丢了?揭秘你的密码是如何被偷走的
  7. Deformable Kernel Networks for Joint Image Filtering论文笔记
  8. java web 图片 加载_Java web开发中加载图片路径的两种方式
  9. 琼瑶称于正抄袭,心力交瘁已病倒
  10. 我的世界服务器如何做无限箱子,我的世界无限箱子制作方法图文攻略