访问电脑版页面

导航:老古开发网手机版STM32单片机的时钟

STM32单片机的5个时钟源解析

导读:
关键字:
STM32单片机,时钟源,

一。 时钟系统框图讲解

1. STM32的5个时钟源

a。高速内部时钟 HSI,大约为8MHz

b。高速外部时钟 HSE,晶振取值范围在4M--16M,一般采用8M晶振

c。低速外部时钟 LSE,32.768k晶振,可以作为RTC的时钟源

d。低速内部时钟 LSI,大约为40KHz

e。PLL锁相环时钟

2. 系统时钟

系统时钟SYSCLK的3个来源

a。HSI

b。HSE

c。PLL

3. RTC的时钟来源

a。LSE

b。LSI

c。LSE的128分频

4. 独立看门狗IWDGCLK的时钟来源

LSI

5.USB的时钟USBCLK的来源

最大频率为48MHz

PLL经过预分频器产生1或1.5分频

6. 内部时钟输出MCO,为STM32芯片的一个引脚PA8

a。SYSCLK

b。HSI

c。HSE

d。PLL时钟的2分频

7. APB1总线的时钟,最大到36M

8. APB2总线的时钟,最大到72M

APB,APB1,APB2为外设提供时钟

所有时钟都有时钟使能,只有时钟打开时外设才能使用。

对于时钟的配置

见《STM32中文参考手册》

三。系统时钟系统初始化重要函数

SystemInit();

它的作用是初始化系统时钟,把系统时钟初始化到一个默认的状态,该函数在系统启动之后会自动调用。

在startup_stm32f10x_hd.s文件中:

Reset_Handler PROC

EXPORT Reset_Handler [WEAK]

IMPORT __main

IMPORT SystemInit

LDR R0, =SystemInit //先执行SystemInit()函数

BLX R0

LDR R0, =__main //再执行main()函数

BX R0

ENDP

该函数默认定义系统时钟为72MHz

#define SYSCLK_FREQ_72MHz 72000000

初始化后系统的状态:

SYSCLK 72MHz

AHB 72MHz

PCLK1 36MHz

PCLK2 72MHz

PLL 72MHz

四。系统时钟配置调用函数

RCC_HSE_ConfiguraTIon();

注意:在使能任何一个时钟的时候,要等待时钟稳定后才能继续。

来源:未知   作者:工程师周亮  2018/11/14 16:30:00
栏目: [ STM32单片机的时钟]

相关阅读

STM32单片机的5个时钟源解析

STM32的时钟配置

STM32值系统时钟初始化程序设计

STM32F4时钟系统原理图解析

基于STM32单片机建立系统时钟的设计方案

STM32的各种时钟系统的应用解析

LinkedInSTM32F4时钟系统初始化的程序代码分享

STM32单片机的外部时钟晶振该如何选择频率

STM32不使用外部晶振的接法

STM32F4的时钟系统的实现方法

STM32 时钟配置方法

STM32-系统时钟

stm32f 查看系统时钟配置

基于STM32时钟系统的开发及配置

STM32时钟配置设计中的常见问题解析

stm32变更外部晶振时钟配置

STM32单片机外部晶振配置时钟设置

STM32F30X时钟初始化为HSI 64Mhz,并使用PLLCLK作为系统时钟

基于LinkedInSTM32F4时钟系统初始化设置

快速看懂STM32-电源、时钟、复位电路及 源代码