面向STM32F37x和STM32F38x系列微控制器的时钟配置工具
STM32F0xx 微控制器的时钟配置
5
结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6
版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3
教程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 向导模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
㟇$+%ᘏ㒓ǃݙḌǃ ᄬ఼ټ'0$ 㟇FRUWH[㋏㒳ᅮᯊ఼ )+&/.&RUWH[㞾⬅䖤㸠ᯊ䩳
3&/.
㟇$3%䆒
4/16
文档 ID 022837 第 1 版
AN4055
1
术语表
表 1.
术语定义 术语
HCLK PCLK1 PCLK2 TIMCLK FCPU Ext.Clock VDD HSI HSE MCLK I2S Fs I2SCLK
AHB 时钟 APB1 时钟 APB2 时钟 定时器时钟 Cortex-M0 时钟 外部时钟 电源 高速内部时钟 高速外部时钟 主时钟 串行数字音频总线 采样频率 I2S 时钟
STM32系列MCU硬件实时时钟(RTC)应用笔记说明书
2017年6月Doc ID 018624 Rev 1 [English Rev 5]1/45AN3371应用笔记在 STM32 F0、F2、F3、F4 和 L1 系列MCU 中使用硬件实时时钟(RTC )前言实时时钟 (RTC) 是记录当前时间的计算机时钟。
RTC 不仅应用于个人计算机、服务器和嵌入式系统,几乎所有需要准确计时的电子设备也都会使用。
支持 RTC 的微控制器可用于精密计时器、闹钟、手表、小型电子记事薄以及其它多种设备。
本应用笔记介绍超低功耗中等容量、超低功耗大容量、F0、F2和 F4 系列器件微控制器中嵌入式实时时钟 (RTC) 控制器的特性,以及将 RTC 用于日历、闹钟、定时唤醒单元、入侵检测、时间戳和校准应用时所需的配置步骤。
本应用笔记提供了含有配置信息的示例,有助于您快速准确地针对日历、闹钟、定时唤醒单元、入侵检测、时间戳和校准应用配置 RTC 。
注:所有示例和说明均基于 STM32L1xx 、STM32F0xx 、STM32F2xx 、STM32F4xx 和STM32F3xx 固件库,以及 STM32L1xx (RM0038)、STM32F0xx (RM0091)、STM32F2xx (RM0033)、STM32F4xx (RM0090)、STM32F37x (RM0313) 和 STM32F30x(RM0316) 的参考手册。
本文提到的STM32 指超低功耗中等容量、超低功耗大容量、F0、F2 和 F4 系列器件。
超低功耗中等 (ULPM) 容量器件包括 STM32L151xx 和 STM32L152xx 微控制器,Flash 容量在 64 KB 到 128 KB 之间。
超低功耗大 (ULPH) 容量器件包括 STM32L151xx 、STM32L152xx 和 STM32L162xx 微控制器,Flash 容量为 384 KB 。
F2 系列器件包括 STM32F205xx 、STM32F207xx 、STM32F215xx 和 STM32F217xx 微控制器。
STM32F427xx系列芯片系统时钟讲解
STM32F427xx系列芯片系统时钟讲解——写代码的Tobem 为了进行通用定时器的设置,有必要先了解STM32F427xx系列芯片的时钟系统。
为了实现低功耗(对于每个时钟源来说,在未使用时都可单独打开或者关闭,以降低功耗),STM32F427xx设计了功能完善但却有点复杂的时钟系统,见下图:图2 STM32F427xx系统时钟树从图中可以看出,STM32F427xx具有4个时钟源,分别为2个内部时钟源和2个外部时钟源,也可以分为2个高速时钟源和2个低速时钟源,具体为:1、HSE(高速外部时钟):以外部晶振作时钟源,晶振频率可取范围为4~26MHz,实际电路图中我们采用12MHz的晶振。
2、HSI(高速内部时钟):由内部RC振荡器产生,频率为16MHz。
其特点是起振快,在芯片刚上电的时候,就是使用高速内部时钟,但其精度不高,因此,上电之后我们再通过软件配置(SystemInit()函数),转而采用高速外部时钟信号。
3、LSE(低速外部时钟):以外部晶振作时钟源,主要提供给实时时钟模块(RTC),一般采用32.768KHz。
4、LSI(低速内部时钟):由内部RC振荡器产生,频率为32KHz,主要用于驱动独立看门狗,也可选择提供给RTC 用于停机/待机模式下的自动唤醒。
程序在执行主函数main()之前,要先进行堆栈指针SP、程序计数器PC的初始化、设置异常中断向量地址等工作,最后才进入到主函数main()中去执行,这其中包括系统时钟的配置(在startup_stm32f4xx.s启动文件中)。
系统时钟的配置由system_stm32f4xx.c文件中的SystemInit()函数完成,配置结果如下:图3 系统时钟配置情况从时钟树中可以看到,系统时钟SYSCLK是大部分器件的时钟来源,因此SYSCLK的配置就显得十分重要。
SYSCLK可以从三个时钟源中进行选择,分别为HSI、HSE和PLLCLK。
HSI 不稳定,而HSE速率太低(4~26MHz),为了使系统获得较快的运行速率和稳定性,我们选择PLLCLK来作为SYSCLK(见备注1),而PLLCLK又可以选择HSI或者HSE作为时钟源,我们选择HSE作为时钟源(见备注2)根据时钟树的走向,SYSCLK(即PLLCLK)计算过程为:PLL_VCO = (HSE_VALUE / PLL_M) * PLL_NSYSCLK = PLL_VCO / PLL_P而宏定义有#if !defined (HSE_VALUE)#define HSE_VALUE ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */#endif /* HSE_VALUE */#define PLL_M 12#define PLL_Q 7#if defined (STM32F427_437xx) || defined (STM32F429_439xx)#define PLL_N 360#define PLL_P 2故SYSCLK最终为180MHz。
stm32系统时钟配置问题
stm32系统时钟配置问题系统从上电复位到72mz 配置好之前,提供时钟的是内如高速rc 振荡器提供8MZ 的频率,这个由下面void SystemInit (void)函数的前面的一部分代码来完成的和保证的:RCC->CR |= (uint32_t)0x00000001;#ifndef STM32F10X_CLRCC->CFGR &= (uint32_t)0xF8FF0000;#elseRCC- >CFGR &= (uint32_t)0xF0FF0000;#endif RCC->CR &= (uint32_t)0xFEF6FFFF; RCC->CR &= (uint32_t)0xFFFBFFFF;RCC->CFGR &= (uint32_t)0xFF80FFFF;#ifdef STM32F10X_CLRCC->CR &= (uint32_t)0xEBFFFFFF;RCC->CIR = 0x00FF0000;RCC->CFGR2 = 0x00000000;#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)RCC->CIR =0x009F0000;RCC->CFGR2 = 0x00000000;#elseRCC->CIR = 0x009F0000;#endif#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)#ifdefDATA_IN_ExtSRAMSystemInit_ExtMemCtl();#endif#endif接着void SystemInit (void)调用SetSysClock();函数,将系统时钟配置到72m,将AHB,APB1,APB2 等外设之前的时钟都配置好,然后切换到72mz 下运行。
stm32如何配置时钟
学习STM32笔记2 如何配置时钟学习STM32笔记2 如何配置时钟/*************************************************************该程序目的是用于测试核心板回来后是否能正常工作。
包括两个按键、两个LED现实。
按键为PC4、PC5,LED为PA0\PA1。
LED为低电平时点亮。
按键为低电平时触发。
************************************************************/#i nclude "stm32f10x_lib.h"void RCC_Configuration(void);//设置系统主时钟void GPIO_Configuration(void);//设置邋邋IO参数void NVIC_Configuration(void);//设置中断表地址void delay(void);//延时函数int main(void){#ifdef DEBUGdebug();#endifRCC_Configuration();NVIC_Configuration();GPIO_Configuration();while (1){delay();//设置指定的数据端口位GPIO_SetBits(GPIOA,GPIO_Pin_0);//设置指定的数据端口位delay();GPIO_ResetBits(GPIOA,GPIO_Pin_0);//清除指定的数据端口位GPIO_SetBits(GPIOA,GPIO_Pin_1);delay();GPIO_ResetBits(GPIOA,GPIO_Pin_1);delay();/*********************************************使用setbits 与resetbits 是比较简单,其实还是可以使用其它函数。
4.3.STM32的时钟系统组成
外部时钟信号是由外部的晶振输入的,精度和稳定性好,上电之后通过 软件配置再转用外部时钟信号。
下图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到 外设时钟。
STM32的时钟系统组成 STM32时钟树
ARM Cortex-M3 的STM32系列 STM32的时钟系统组成
STM32的时钟系统组成 时钟系统
STM32的4个时钟源: 高速外部时钟(HSE):外部晶振时钟源,晶振频率4—16MHz,一般8MHz的晶振。
高速内部时钟(HSI):内部RC振荡器产生,频率为8MHz,但不稳定。
低速外部时钟(LSE):外部晶振作时钟源,主要提供给实时时钟模块,一般采用 32.768KHz。
A . HSE
B.HSI
D.LSI
) C.LSE
Thanks
感谢
谢谢,精品课件
资料搜集
STM32的时钟系统组成
问题与思考
低速外部时钟(LSE)可以作为RTC及独立看门狗时钟
如果HCLK为72MHz,则定时器2的时钟必为72MHz
如Hale Waihona Puke HCLK为72MHz,则Systick时钟频率为(9MHz)
STM32芯片刚上电时,其主时钟使用的是(
A . HSE
B.HSI
D.LSI
) C.LSE
STM32的时钟系统组成
问题与思考
低 速 外 部 时 钟 ( LSE ) 可 以 作 为 RTC 及 独 立 看 门 狗 时 钟 错
如果HCLK为72MHz,则定时器2的时钟必为72MHz
错
如 果 HCLK 为 72MHz , 则 Systick 时 钟 频 率 为 ( 9MHz ) 对
STM32入门教程--系统时钟配置
STM32 系统时钟配置一、STM32的时钟系统时钟是什么?时钟通常是振荡器(如晶振)产生的特定频率的方波信号,时钟周期是时钟频率的倒数,时钟频率1MHz时钟周期为1/1000000=1us。
时钟周期是MCU处理指令的最小时间单元,每个程序指令都需要若干个时钟周期,MCU的时钟频率越快,完成一个指令的时间就越短,速度就越快。
时钟是MCU运行的基础,好比MCU的脉搏,是MCU性能的重要参数。
每个MCU 都是在某个特定的时钟频率下进行工作的,如C51单片机时钟频率为12MHz,而STM32F103 的系统时钟频率是72MHz。
STM32的时钟系统STM32时钟频率较高,时钟越快功耗越大,同时抗电磁干扰能力也会越弱。
而且STM32外设非常多,而通常外设是不需要像系统时钟那么高的频率的,比如看门狗和RTC 只需要几十K的时钟即可。
另外实际使用的时候通常只会用到有限的几个外设,STM32可以只给需要启动的外设分配时钟,以此来降低功耗。
由此可看出STM32 的时钟系统较为复杂,它采用了多个时钟源的方法来解决这些问题。
STM32 有4个独立时钟源:HSI、HSE、LSI、LSE。
①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
其中LSI是作为IWDGCLK(独立看门狗)时钟源和RTC时钟源而独立使用,HSI高速内部时钟 HSE高速外部时钟 PLL锁相环时钟这三个经过分频或者倍频作为系统时钟来使用基本时钟源(图中绿色箭头指出):(1)HSI高速内部时钟,RC振荡器,8MHz。
(2)HSE高速外部时钟,石英/陶瓷谐振器,8MHz。
(3)LSI低速内部时钟,RC振荡器,40kHz。
STM32F407的系统时钟配置
STM32F4的系统时钟树时钟系统是微处理器同步系统的基准和运行节拍,如同人的心跳节拍一样。
因此时钟系统是微处理器中最重要的一个核心部分。
STM32F4的时钟系统比较复杂,不像简单的51单片机一个系统时钟就可以解决一切。
问:采用一个系统时钟不是很简单吗?为什么STM32要有多个时钟源呢?答:因为首先STM32本身非常复杂,外设非常的多,但是并不是所有外设都需要系统时钟这么高的频率,比如看门狗以及RTC只需要几十k的时钟即可。
同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的MCU一般都是采取多时钟源的方法来解决这些问题。
时钟总线:STM32F407上挂载有3根时钟总线,分别为AHB、APB1、APB2;其芯片的外设大部分都挂载在这三根总线上,因此还需要弄清楚这三根总线的时钟频率。
在STM32F4中,有5个最重要的时钟源,为HSI、HSE、LSI、LSE、PLL。
PLL实际是分为两个时钟源,分别为主PLL和专用PLL。
从时钟频率来分可以分为高速时钟源和低速时钟源,在这5个中HSI,HSE以及PLL是高速时钟,LSI和LSE是低速时钟。
从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获取时钟源,其中HSE和LSE是外部时钟源,其他的是内部时钟源。
根据左边的时钟系统图中的红色标记分别为:①LSI是低速内部时钟,RC振荡器,频率为32kHz左右。
供独立看门狗和自动唤醒单元使用②LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
这个主要是RTC的时钟源。
③HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~26MHz。
HSE也可以直接做为系统时钟或者PLL输入。
④HSI是高速内部时钟,RC振荡器,频率为16MHz。
可以直接作为系统时钟或者用作PLL输入。
⑤PLL为锁相环倍频输出。
STM32F4有两个PLL:1)主PLL(PLL)由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。
STM32F0xx 微控制器的时钟配置介绍
2 年 05 月
文档 ID 022837 第 1 版
1/16
目录
目录
AN4055
1
术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 专家模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4
已知限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
文档 ID 022837 第 1 版
3/16
3
图片索引
图片索引
AN4055
图 1. 图 2. 图 3. 图 4. 图 5. 图 6. 图 7.
时钟结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 I2S 时钟结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 向导模式用户界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 选择时钟源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 文件生成错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 专家模式用户界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 超出系统时钟频率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
STM32入门系列-STM32时钟系统,时钟使能配置函数
STM32⼊门系列-STM32时钟系统,时钟使能配置函数 之前的推⽂中说到,当使⽤⼀个外设时,必须先使能它的。
怎么通过库函数使能时钟呢?如需了解寄存器配置时钟,可以参考《STM32F10x中⽂参考⼿册》“复位和时钟控制(RCC)”章节,其中有详细的寄存器介绍。
固件库已经把时钟相关寄存器的使能配置都封装好,放在stm32f10x_rcc.c和stm32f10x_rcc.h中。
只需要打开stm32f10x_rcc.h⽂件,会发现有很多的宏定义和时钟使能函数的声明。
这些时钟函数可⼤致分为三类。
⼀类是外设时钟使能函数,⼀类是时钟源和倍频因⼦配置函数,还有⼀类是外设复位函数。
当然还有⼏个获取时钟源配置的函数。
下⾯就来简单介绍下这些函数的使⽤。
⾸先看⼀下时钟使能函数,时钟使能函数包括外设时钟使能和时钟源使能。
外设时钟使能相关函数如下:void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);上⾯3个时钟使能函数也正是STM32的3条总线(这个在前⾯介绍存储器与寄存器章节讲过)。
由于STM32的外设都是挂接在AHB和APB 总线上的,所以要使能外设时钟,也就是使能对应外设所挂接的总线时钟。
⽐如GPIO外设它是挂接在APB2总线上的,如果使⽤GPIO外设,就需要先使能APB2总线时钟,使能时钟代码如下。
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph,FunctionalState NewState);要想哪个外设挂接在哪个总线上呢,可以通过STM32中⽂参考⼿册查找,还可以在固件库stm32f10x_rcc.h⽂件中查找。
STM32时钟详细配置
STM32时钟配置STM32时钟配置步骤// 开启HSI时钟寄存器操作1).开启高速时钟HSE // 设置时钟控制寄存器RCC_CR 位16 置1使能RCC->CR|= 0x00010000;位16 :HSEON:外部高速时钟使能当进入待机和停止模式时,该位由硬件清零,关闭4-16MHz外部振荡器。
当外部4-16MHz 振荡器被用作或被选择将要作为系统时钟时,该位不能被清零。
2).等待高速时钟就绪// 读取时钟控制寄存器RCC_CR位17为1就位while(!(RCC-> CR>>17));位17:HSERDY:外部高速时钟就绪标志由硬件置’1’来指示外部4-16MHz振荡器已经稳定。
在HSEON位清零后,该位需要6个外部4-25MHz振荡器周期清零。
3).设置APB1,APB2,AHB分频系数// 设置时钟配置寄存器RCC_CFGRRCC_CFGR=0x00000400;(AHB :位4-7, (低速)APB1 :位8-10, (高速)APB2 :位11-13)位7:4:HPRE[3:0]:AHB预分频(AHB Prescaler)0xxx:SYSCLK不分频位10:8:PPRE1[2:0]:低速APB预分频(APB1) 100:HCLK 2分频位13:11:PPRE2[2:0]:高速APB预分频(APB2) 0xx:HCLK不分频4).设置PLL倍频// 配置时钟配置寄存器RCC_CFGR 位18-21RCC_CFGR|=7<<18;位21:18:PLLMUL:PLL倍频系数0111:PLL 9倍频输出5).PLL输入时钟源选择// 配置时钟配置寄存器RCC_CFGR 位16RCC_CFGR|=1<<16;位16:PLLSRC:PLL输入时钟源(PLL entry clock source) 1:HSE时钟作为PLL输入时钟。
由软件置’1’或清’0’来选择PLL输入时钟源。
STM32F2xx的时钟说明
STM32F207的时钟说明请尽可能参阅英文原文件STM32F207有三个可选的时钟源,具体如下:(1)HIS时钟源(内部集成的时钟源)(2)HSE时钟源(外部高速晶体振荡器提供的时钟源或来自其他设备的时钟源)(3)PLL(PLL的时钟输入可以是HIS或者HSE时钟源)时钟控制器在选择内核及外设的时钟时具有高度的灵活性,以使他们都可以工作在最高频率上,并且能够保证给那些需要特殊频率的外设提供合适的频率,如Ethernet, USB OTG FS 和HS,I2S和SDIO。
三个可选的时钟源都可以独立地打开或关闭,以降低系统的功耗。
设备还有两个次要的时钟源,具体如下:(1)32KHz低速内部RC,可以驱动独立的看门狗和可以选择性使用的RTC(可用于在停止或待机状态下自动唤醒设备)(2)32.768KHz的低速外部晶体,可以作为RTC的时钟源。
几个预分频器用于配置AHB总线的频率,高速APB总线(APB2)和低速APB总线(APB1)所控制的区域的频率。
AHB总线的最高频率是120MHz,APB2总线的最高频率是60MHz,APB1总线的最高频率是30MHz。
所有的外设时钟都来源于系统时钟(SYSCLK),以下的几个除外:(1)USB OTG FS时钟(48MHz),随机模拟产生器(RNG)时钟(<=48MHz),SDIO时钟(<=48MHz),这些时钟来源于一个特殊的PLL(PLL2)的输出(PLL48CLK)。
(2)I2S时钟:为了达到高品质的音频效果,I2S时钟可能从特殊的PLL(PLLI2S)或外部接在I2S_CKIN引脚上的时钟得到。
(3)USB OTG HS(60MHz)时钟,由外部硬件提供。
(4)Ethernet MAC时钟(TX,RX和RMII)可以从外部硬件得到。
Ethernet使用时,AHB总线时钟不得低于25MHz。
RCC模块将AHB时钟8分频后提供给了Cortex系统定时器System Timer。
37x时钟配置
September 2012Doc ID 023352 Rev 11/16AN4132Application noteClock configuration tool for STM32F37x/STM32F38xmicrocontrollersIntroductionThis application note presents the clock system configuration tool for the STM32F37x and STM32F38x microcontroller families.The purpose of this tool is to help the user to configure the microcontroller clocks, taking into consideration product parameters such as power supply and Flash access mode.Note:The clock configuration tool for STM32F37xx and STM32F38xx microcontrollers will be referred to as “STM32F37x clock configuration tool“ throughout the document. “STM32F37x“ will refer to STM32F37xx and STM32F38x.The configuration tool is implemented in the “STM32F37x_Clock_Configuration_VX.Y .Z.xls” file which is supplied with the STM32F37x Standard Peripherals Library and can be downloaded from .This tool supports the following functions for the STM32F37x:●Configuration of the system clock, HCLK source and output frequency●Configuration of the Flash latency (number of wait states depending on the HCLK frequency)●Setting of the PCLK1, PCLK2, TIMCLK (timer clocks) and I2SCLK frequencies ●Generation of a ready-to-use system_stm32f37x.c file with all the above settings(STM32F37x CMSIS Cortex-M4 Device Peripheral Access Layer System Source File)The STM32F37x_Clock_Configuration_VX.Y .Z.xls is referred to as “clock tool” throughout this document.Before using the clock tool, it is essential to read the STM32F37x microcontroller reference manual (RM0313). This application note is not a substitute for the reference manual.This tool supports only the STM32F37x devices.For VX.Y .Z, please refer to the tool version, example V1.0.0. Table 1 lists the microcontrollers concerned by this application note.Table 1.Applicable productsTypeApplicable productsMicrocontrollersSTM32F37x STM32F38xContents AN4132Contents1Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2Clock scheme for STM32F37x microcontrollers . . . . . . . . . . . . . . . . . . . 62.2.3I2S clock generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1Wizard mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2Expert mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4Known limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152/16Doc ID 023352 Rev 1AN4132List of figures List of figuresFigure 1.Clock scheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Figure 2.I2S clock generator architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figure 3.Wizard mode user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figure 4.Select the clock source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 5.File generation error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Figure 6.Expert mode user interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Figure 7.System clock frequency is exceeded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Doc ID 023352 Rev 13/16Glossary AN4132 1 GlossaryTable 2.Definition of termsTerm DescriptionHCLK AHB clockPCLK1APB1 clockPCLK2APB2 clockTIMCLK Timer clockF CPU Cortex-M4 clockExt.Clock External clockV DD Power supplyHSI High-speed internal clockHSE High-speed external clockMCLK Master clockI2S Integrated interchip soundFs Sampling frequencyI2SCLK I2S clock4/16Doc ID 023352 Rev 1AN4132Getting startedDoc ID 023352 Rev 15/162 Getting startedThis section describes the requirements and procedures needed to start using the clocktool.2.1 Software requirementsTo use the clock tool with Windows ™ operating system, a recent version of Windows, suchas Windows XP , Vista or Windows 7 must be installed on the PC with at least 256 Mbytes of RAM.Before starting to use the clock tool, make sure that Microsoft™ Office is installed on your machine and then follow these steps:●Download the latest version of the clock tool for the STM32F37x product from .●Enable macros and ActiveX™ controls:.Excel ™ 1997-2003 version1.Click Tools in the menu bar.2. Click Macro .3. Click Security .4. Click Low (not recommended).Note:If ActiveX controls are not enabled, a warning message is displayed asking you to enable ActiveX. In this case, you should click “OK” to enable it.Excel 2007 version1.Click the Microsoft Office button and then click Excel options .2. Click Trust Center , click Trust center settings , and then click Macro settings .3. Click Enable all macros (not recommended, potentially dangerous code can run).4. Click Trust Center , click Trust center settings , and then click ActiveX settings .5. Click Enable all controls without restrictions and without prompting (notrecommended; potentiality dangerous controls can run).6. Click OK .Note:For more information about how to enable macros and ActiveX controls, please refer to the Microsoft Office website.Getting started AN41326/16Doc ID 023352 Rev 12.2 Hardware requirements2.2.1 IntroductionThe clock tool is designed to configure the system clocks and generate thesystem_stm32f37x.c file for STM32F37x microcontrollers.The system_stm32f37x.c file is provided as a template system clock configuration file which can be easily modified to select the corresponding system clock frequency and to configure the Flash latency.2.2.2 Clock scheme for STM32F37x microcontrollersThis section describes the system clock scheme that is dependent on the voltagerequirements (V DD ) versus the system clock frequency and Flash latency versus the system clock frequency.Three different clock sources can be used to drive the system clock (SYSCLK):1.HSI (8 MHz) oscillator clock2. HSE (4 MHz to 32 MHz) oscillator clock3.Main phase-locked loop (PLL) clock with a PLL voltage-controlled oscillator (PLLVCO) input frequency.All peripheral clocks are derived from the SYSCLK.Note:The number of Flash memory wait states (latency) is defined according to the frequency of the CPU (Cortex-M4):●Zero wait states if 0 < SYSCLK <= 24 MHz ●One wait state if 24 MHz < SYSCLK <= 48 MHz ●Two wait state if 48MHz < SYSCLK <= 72MHzAN4132Getting startedDoc ID 023352 Rev 17/16Getting started AN41328/16Doc ID 023352 Rev 12.2.3 I2S clock generatorThis section describes the I2S clock generator. It is dependent on:●Master clock MCLK (enable or disable)●Frame width●I2S peripheral clock (I2SCLK).Figure 2.I2S clock generator architectureThe audio sampling frequency may be 192 kHz, 96 kHz, 48 kHz, 44.1 kHz, 32 kHz,22.05 kHz, 16 kHz, 11.025 kHz or 8 kHz. To reach the desired frequency, the linear divider (DIV) needs to be programmed according to the formulas below:When the master clock is generated (MCKOE bit in the SPI_I2SPR register is set):●FS = I2SxCLK/[(16*2)*((2*I2SDIV)+ODD)*8)] when the channel frame is 16 bits wide ●FS = I2SxCLK/[(32*2)*((2*I2SDIV)+ODD)*4)] when the channel frame is 32 bits wide Where ODD is an odd factor for the prescaler.When the master clock is disabled (MCKOE bit cleared):●FS = I2SxCLK/[(16*2)*((2*I2SDIV)+ODD))] when the channel frame is 16 bits wide ●FS = I2SxCLK/[(32*2)*((2*I2SDIV)+ODD))] when the channel frame is 32 bits wideNote:This tool does not configure the I2S register.The sampling frequency error is computed as an indicator according to the I2S parameters which are not configured in the output file “system_stm32f37x.c”.8-bit divider +linear CKODDI2SDIV[7:0]I2SxCLKCHLENI2SMOD reshaping stageDivider by 4Div210MCKOE MCKOEMCK1AN4132TutorialsDoc ID 023352 Rev 19/163 TutorialsThis section describes how to use the clock tool to configure all system clocks and generate the system_stm32f37x.c file. Two modes are available: Wizard and Expert . The selection is made in the Configuration mode list box.3.1 Wizard modeThis mode (default mode) guides you through a series of steps to obtain the desired clocksystem configuration quickly and easily.Figure 3.Wizard mode user interfaceNote:The ‘Reset ’ button allows to set the system clock for the default configuration.The wizard guides you through the following steps:1.Set the HSE frequency (if it is used in your application) between a minimum of 4 MHz, and a maximum of 32 MHz if a crystal oscillator is used for the STM32F37x. If thefrequency entered is out of range, an error message is displayed, and a valid frequency must be entered.The definition of HSE_VALUE in the stm32f37x.h file must be modified each time the user changes the HSE oscillator value.TutorialsAN413210/16Doc ID 023352 Rev 12. Configure the Prefetch buffer (select ON or OFF from the list box).3. Specify if the I2S clock is needed. If needed, enable it and follow steps 7, 8 and 9.Otherwise, go to step 4.4. Specify the USB clock if needed5. Set the desired HCLK frequency. If the value entered is higher than the maximum HCLK frequency, an error message is displayed.6.Select the PCLK1 and PCLK2 prescaler settings from the list box to obtain the desired PCLK1 and PCLK2 frequencies. The TIMCLK frequencies are configured automatically depending on the PCLK1 and PCLK2 prescaler settings.Note:In this product, PCLK1 and PCLK2 share the same clock signal, so APB1 prescaler should always equal APB2 prescaler.7. If the I2S clock is needed, select the frame width (16 or 32 bits).8. Specify if the master clock is enabled or disabled (Select ON/OFF from the list box).9.Select the Frequency from the list box. The Fs value can be 192 kHz, 96 kHz, 48 kHz, 44.1 kHz, 32 kHz, 22.05 kHz, 16 kHz, 11.025 kHz, or 8 kHz.10. Click the RUN button.If more than one clock source is possible, a message box displays the clock sources that can be selected (see Figure 4). Choose HSE, HSI or PLL (which are sourced by the HSI or HSE).Figure 4.Select the clock source11. Click the Generate button to automatically generate system_stm32f37x.c file.The system_stm32f37x.c file is generated in the same location as the clock tool.Display the file to verify:- the value of the system clock, SystemCoreClock,- the values of HCLK, PCLK1, PCLK2, Flash access mode,- and other parameters which are defined in the SetSysClock function.If the file is not generated, an error message is displayed, as shown in Figure 5.Figure 5.File generation error12. The system_stm32f37x.c file must be added to the working project to be built.AN4132TutorialsDoc ID 023352 Rev 111/163.2 Expert modeThis mode provides more flexibility regarding the configuration setup but the user mustensure that the configuration is correct.Figure 6.Expert mode user interfaceThe ‘Reset ’ button permits the system clock to be reset to the default configuration.These main steps are described in detail in this section:1.Configure the SYSCLK frequency.2.If required, enable the I2S clock and configure the I2S clock frequency.3. If required, configure the Prefetch buffer.4. Generate the system_stm32f37x.c file.5. Add the system_stm32f37x.c file to the working project to be built.Tutorials AN413212/16Doc ID 023352 Rev 11.Configure the SYSCLK frequency.a) If the HSE is used in your application, set its frequency between 4 MHz and32 MHz (set it to 32 MHz if a crystal oscillator is used for the STM32F37x).If the frequency entered is out of range, an error message is displayed. A validfrequency must be entered.Note:The definition of HSE_VALUE in the stm32F37x.h file must be modified each time the userchanges the HSE oscillator value.b) Configure the SYSCLK source (PLL, HSE or HSI). If the clock source selection isinvalid (HCLK frequency is too high), the error message in Figure 7 is displayed.Figure 7.System clock frequency is exceededc) If PLL is selected as the SYSCLK source, it is necessary to select the source clockfor the PLL (HSE or HSI).d) If PLL is selected as the SYSCLK source, configure the main PLL (PLLMUL) andthe PLL division factor (PREDIV) if HSE is selected as the PLL clock source.e) Set HCLK prescaler using the AHBPrescaler list box to obtain the desired HCLKfrequency.f) Select PCLK1 prescaler settings from the list box to obtain the desired PCLK1frequency. The TIMCLK frequencies are configured automatically depending onthe PCLK1 prescaler settings.g) Select PCLK2 prescaler settings from the list box to obtain the desired PCLK2frequency. The TIMCLK frequencies are configured automatically depending onthe PCLK2 prescaler settings.Note:In this product, PCLK1 and PCLK2 share the some clock signal, so APB1 prescaler shouldalways equal APB2 prescaler.h) Configure the Flash Latency: after setting the HCLK prescaler, the number ofFlash wait states is configured automatically with the best value (lowest possiblevalue) which can be modified to any value higher than the best value.i)Generate the clock configuration files by clicking on the Generate button.2. If required, enable the I2S clock and configure the I2S clock frequency.a) Select the frame width (16 or 32 bits) and specify if the master clock is enabled ornot.b) Select Fs from the list box. The Fs value can be 192 kHz, 96 kHz, 48 kHz,44.1 kHz, 32 kHz, 22.05 kHz, 16 kHz, 11.025 kHz and 8 kHz.3. Optionally configure the Prefetch buffer.4. Generate the system_stm32f37x.c file.Click the Generate button to automatically generate the system_stm32f37x.c file in thesame location as the clock tool. It can be displayed to verify:- the value of the SYSCLK, SystemCoreClock,AN4132Known limitationsDoc ID 023352 Rev 113/16- the values of HCLK, PCLK1, PCLK2, Flash access mode,- and other parameters which are defined in the “SetSysClock” function.5. The system_stm32f37x.c file must be added to the working project to be built.4 Known limitationsThis section describes the known limitations of the clock configuration tool.This tool does not support configurations that use the HSE external clock source (HSEbypass).Conclusion AN413214/16Doc ID 023352 Rev 15 ConclusionThis application note provides a description of how to use the clock tool with theSTM32F37x microcontroller devices.This tool generates a source code file system_stm32f37x.c to configure the clock system ofthe STM32F37x. It can be accessed from either of the two configuration modes:●Wizard mode: provides a quick and easy way to configure the system clocks. ●Expert mode: offers more flexibility in setting up the system clock configuration while still respecting all the product constraints.AN4132Revision history Doc ID 023352 Rev 115/166 Revision historyTable 3.Document revision historyDate RevisionChanges 26-Sep-20121Initial releaseAN4132Please Read Carefully:Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice.All ST products are sold pursuant to ST’s terms and conditions of sale.Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein.No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein.UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST.ST and the ST logo are trademarks or registered trademarks of ST in various countries.Information in this document supersedes and replaces all information previously supplied.The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.© 2012 STMicroelectronics - All rights reservedSTMicroelectronics group of companiesAustralia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America16/16Doc ID 023352 Rev 1。
stm32系统时钟配置问题,解释为什么用某个外设之前只需要使能相应外设时钟
stm32系统时钟配置问题,解释为什么⽤某个外设之前只需要使能相应外设时钟系统从上电复位到72mz配置好之前,提供时钟的是内如⾼速rc振荡器提供8MZ的频率,这个由下⾯void SystemInit (void)函数的前⾯的⼀部分代码来完成的和保证的:RCC->CR |= (uint32_t)0x00000001;#ifndef STM32F10X_CLRCC->CFGR &= (uint32_t)0xF8FF0000;#elseRCC->CFGR &= (uint32_t)0xF0FF0000;#endifRCC->CR &= (uint32_t)0xFEF6FFFF;RCC->CR &= (uint32_t)0xFFFBFFFF;RCC->CFGR &= (uint32_t)0xFF80FFFF;#ifdef STM32F10X_CLRCC->CR &= (uint32_t)0xEBFFFFFF;RCC->CIR = 0x00FF0000;RCC->CFGR2 = 0x00000000;#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)RCC->CIR = 0x009F0000;RCC->CFGR2 = 0x00000000;#elseRCC->CIR = 0x009F0000;#endif#if defined (STM32F10X_HD) || (defined STM32F10X_XL) || (defined STM32F10X_HD_VL)#ifdef DATA_IN_ExtSRAMSystemInit_ExtMemCtl();#endif#endif接着void SystemInit (void)调⽤ SetSysClock();函数,将系统时钟配置到72m,将AHB,APB1,APB2等外设之前的时钟都配置好,然后切换到72mz下运⾏。
STM32时钟配置方法
STM32时钟配置方法详解一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③LSI是低速内部时钟,RC振荡器,频率为40kHz。
④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。
倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
二、在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:①对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
②对于少于100脚的产品,有2种接法:第1种:OSC_IN和OSC_OUT分别通过10K电阻接地。
此方法可提高EMC性能;第2种:分别重映射OSC_IN 和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出'0'。
此方法可以减小功耗并(相对上面)节省2个外部电阻。
三、用HSE时钟,程序设置时钟参数流程:01、将RCC寄存器重新设置为默认值RCC_DeInit;02、打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON);03、等待外部高速时钟晶振工作HSEStartUpStatus = RCC_WaitForHSEStar tUp();04、设置AHB时钟RCC_HCLKConfig;05、设置高速AHB时钟RCC_PCLK2Config;06、设置低速速AHB时钟RCC_PCLK1Config;07、设置PLL RCC_PLLConfig;08、打开PLL RCC_PLLCmd(ENABLE);09、等待PLL工作while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RE SET)10、设置系统时钟RCC_SYSCLKConfig;11、判断是否PLL是系统时钟while(RCC_GetSYSCLKSource() != 0x08)12、打开要使用的外设时钟RCC_APB2PeriphClockCmd()/RCC_APB1Perip hClockCmd()四、下面是STM32软件固件库的程序中对RCC的配置函数(使用外部8MHz晶振)/******************************************************************************** Function Name : RCC_Configuration* Description : RCC配置(使用外部8MHz晶振)* Input : 无* Output : 无* Return : 无*******************************************************************************/void RCC_Configuration(void){/*将外设RCC寄存器重设为缺省值*/RCC_DeInit();/*设置外部高速晶振(HSE)*/RCC_HSEConfig(RCC_HSE_ON); //RCC_HSE_ON——HSE晶振打开(ON)/*等待HSE起振*/HSEStartUpStatus = RCC_WaitForHSEStartUp();if(HSEStartUpStatus == SUCCESS) //SUCCESS:HSE晶振稳定且就绪 {/*设置AHB时钟(HCLK)*/RCC_HCLKConfig(RCC_SYSCLK_Div1); //RCC_SYSCLK_Div1——AHB 时钟= 系统时钟/* 设置高速AHB时钟(PCLK2)*/RCC_PCLK2Config(RCC_HCLK_Div1); //RCC_HCLK_Div1——APB2时钟= HCLK/*设置低速AHB时钟(PCLK1)*/RCC_PCLK1Config(RCC_HCLK_Div2); //RCC_HCLK_Div2——APB1时钟= HCLK / 2/*设置FLASH存储器延时时钟周期数*/FLASH_SetLatency(FLASH_Latency_2); //FLASH_Latency_2 2延时周期/*选择FLASH预取指缓存的模式*/FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); // 预取指缓存使能/*设置PLL时钟源及倍频系数*/RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);// PLL的输入时钟= HSE时钟频率;RCC_PLLMul_9——PLL输入时钟x 9/*使能PLL */RCC_PLLCmd(ENABLE);/*检查指定的RCC标志位(PLL准备好标志)设置与否*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){}/*设置系统时钟(SYSCLK)*/RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//RCC_SYSCLKSource_PLLCLK——选择PLL作为系统时钟/* PLL返回用作系统时钟的时钟源*/while(RCC_GetSYSCLKSource() != 0x08) //0x08:PLL作为系统时钟 {}}/*使能或者失能APB2外设时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph _GPIOB |RCC_APB2Periph_GPIOC , ENABLE);//RCC_APB2Periph_GPIOA GPIOA时钟//RCC_APB2Periph_GPIOB GPIOB时钟//RCC_APB2Periph_GPIOC GPIOC时钟//RCC_APB2Periph_GPIOD GPIOD时钟}五、时钟频率STM32F103内部8M的内部震荡,经过倍频后最高可以达到72M。
STM32时钟配置方法详解
STM32时钟配置方法详解STM32是意法半导体(STMicroelectronics)公司推出的一系列32位Flash微控制器,被广泛应用于各种嵌入式系统中。
时钟是STM32微控制器的核心部分,正确配置时钟可以确保系统正常工作并达到预期的性能。
本文将详细介绍STM32时钟配置的方法。
1.时钟源:STM32微控制器提供了多个时钟源,包括内部时钟(HSI、LSI)和外部时钟(HSE、LSE)。
其中,HSI(高速内部时钟)是一个高频率(通常为8MHz)的内部RC振荡器,适用于低功耗应用;LSI(低速内部时钟)是一个低频率(通常为40kHz)的内部RC振荡器,用于RTC(实时时钟)模块;HSE(高速外部时钟)是一个外接的高频晶振,用于提供更精确的时钟信号;LSE(低速外部时钟)是一个外接的低频晶振,适用于RTC模块。
2.主频和系统时钟:主频是指CPU的时钟频率,系统时钟是指STM32微控制器的总线时钟,包括AHB(高性能总线)、APB1(低速外设总线)和APB2(高速外设总线)。
在进行STM32时钟配置之前,需要按照以下几个步骤来完成。
1.启用对应的时钟源:根据具体需求,选择合适的时钟源并启用相应的时钟。
可以通过设置RCC_CR寄存器和RCC_APB1ENR/RCC_APB2ENR寄存器来实现。
例如,要使用HSE作为时钟源,需要首先启用HSE时钟。
2.配置时钟分频器:为了使系统时钟不超过芯片规格要求的最大频率,需要对时钟进行分频。
分频器有两个,即AHB分频器和APB分频器。
可以通过设置RCC_CFGR寄存器来实现。
例如,将AHB分频器设置为8,将APB1和APB2分频器分别设置为4,可以将主频分别分频为8MHz、32MHz和64MHz。
3.等待时钟稳定:当启用外部时钟源时,需要等待时钟稳定。
可以通过读取RCC_CR寄存器的特定标志位来判断时钟是否稳定。
4. 配置Flash存储器的延时:根据主频的不同,需要设置Flash存储器的访问延时,以确保正常读写数据。
STM32-时钟配置与使用
STM32-时钟配置与使⽤0、前⾔RCC-复位和时钟控制器可以实现配置系统时钟SYSCLK,配置AHB(HCLK)总线时钟,配置外设APB1(PCLK1)和APB2(PCLK2)时钟库函数的标准配置为PCLK2=HCLK=SYSCLK=PLLCLK=72M,PCLK1=HCLK/2=36M系统初始化时会调⽤函数实现时钟配置。
#ifdef SYSCLK_FREQ_HSEuint32_t SystemCoreClock = SYSCLK_FREQ_HSE; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_24MHzuint32_t SystemCoreClock = SYSCLK_FREQ_24MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_36MHzuint32_t SystemCoreClock = SYSCLK_FREQ_36MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_48MHzuint32_t SystemCoreClock = SYSCLK_FREQ_48MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_56MHzuint32_t SystemCoreClock = SYSCLK_FREQ_56MHz; /*!< System Clock Frequency (Core Clock) */#elif defined SYSCLK_FREQ_72MHzuint32_t SystemCoreClock = SYSCLK_FREQ_72MHz; /*!< System Clock Frequency (Core Clock) */static void SetSysClock(void){#ifdef SYSCLK_FREQ_HSESetSysClockToHSE();#elif defined SYSCLK_FREQ_24MHzSetSysClockTo24();#elif defined SYSCLK_FREQ_36MHzSetSysClockTo36();#elif defined SYSCLK_FREQ_48MHzSetSysClockTo48();#elif defined SYSCLK_FREQ_56MHzSetSysClockTo56();#elif defined SYSCLK_FREQ_72MHzSetSysClockTo72();#endif在system_stm32f10x.c⽂件中可更改宏定义改变系统时钟频率#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)/* #define SYSCLK_FREQ_HSE HSE_VALUE */#define SYSCLK_FREQ_24MHz 24000000#else/* #define SYSCLK_FREQ_HSE HSE_VALUE *//* #define SYSCLK_FREQ_24MHz 24000000 *//* #define SYSCLK_FREQ_36MHz 36000000 *//* #define SYSCLK_FREQ_48MHz 48000000 *//* #define SYSCLK_FREQ_56MHz 56000000 */#define SYSCLK_FREQ_72MHz 72000000#endif1、时钟树主要时钟HSE:⾼速外部时钟,可由有源晶振或⽆源晶振提供,4-16MHzPLL以HSE为来源时可设置不分频或2分频PLL:锁相环时钟源,可配置来⾃HSE或HSI/2PLLCLK:锁相环时钟,可设置倍频[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]SYSCLK:系统时钟PCLK2:APB2总线时钟,由HCLK通过⾼速APB2预分频得到,分频因⼦[1,2,4,8,16]其他时钟USB时钟:由PLLCLK通过USB预分频器得到,分频因⼦[1,1.5]Cortex系统时钟:由HCLK8分频得到,⽤来驱动内核的系统定时器SysTickADC时钟:由PCLK2经ADC预分频得到,分频因⼦[2,4,6,8]RTC时钟:由HSE/128或LSE或LSI得到MCO时钟:输出时钟,可由PLLCLK/2,HSI,HSE,SYSCLK配置2、时钟配置相关库函数配置函数/*将RCC外设初始化为复位状态*/void RCC_DeInit(void);/*使能HSE,可选参数RCC_HSE_OFF,RCC_HSE_ON,RCC_HSE_Bypass*/void RCC_HSEConfig(uint32_t RCC_HSE);/*等待时钟源启动稳定,返回SUCCESS,ERROR*/ErrorStatus RCC_WaitForHSEStartUp(void);/*配置PLL时钟源和PLL倍频因⼦RCC_RLLSource:RCC_PLLSource_HSE_Div1,RCC_PLLSource_HSE_Div2,RCC_PLLSource_HSI_Div2RCC_PLLMul:RCC_PLLMul_2 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]*/void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);/*配置系统时钟,可选参数RCC_SYSCLKSource_HSI,RCC_SYSCLKSource_HSE,RCC_SYSCLKSource_PLLCLK */void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);/*配置HCLK,可选参数RCC_SYSCLK_Div1 [1,2,4,8,16,64,128,256,512]*/void RCC_HCLKConfig(uint32_t RCC_SYSCLK);/*配置PCLK1,可选参数RCC_HCLK_Div1 [1,2,4,8,16]*/void RCC_PCLK1Config(uint32_t RCC_HCLK);/*配置PCLK2,可选参数RCC_HCLK_Div1 [1,2,4,8,16]*/void RCC_PCLK2Config(uint32_t RCC_HCLK);操作函数/*控制PLL开关,可选参数DISABLE,ENABLE*/void RCC_PLLCmd(FunctionalState NewState);/*获取状态,可选参数#define RCC_FLAG_HSIRDY ((uint8_t)0x21)#define RCC_FLAG_HSERDY ((uint8_t)0x31)#define RCC_FLAG_PLLRDY ((uint8_t)0x39)#define RCC_FLAG_LSERDY ((uint8_t)0x41)#define RCC_FLAG_LSIRDY ((uint8_t)0x61)#define RCC_FLAG_PINRST ((uint8_t)0x7A)#define RCC_FLAG_PORRST ((uint8_t)0x7B)#define RCC_FLAG_SFTRST ((uint8_t)0x7C)#define RCC_FLAG_IWDGRST ((uint8_t)0x7D)#define RCC_FLAG_WWDGRST ((uint8_t)0x7E)#define RCC_FLAG_LPWRRST ((uint8_t)0x7F)返回SET,RESET*/* - 0x08: PLL used as system clock*/uint8_t RCC_GetSYSCLKSource(void);使⽤HSE配置系统时钟1、开启HSE ,并等待 HSE 稳定2、设置 AHB、APB2、APB1的预分频因⼦3、设置PLL的时钟来源,和PLL的倍频因⼦,设置各种频率主要就是在这⾥设置4、开启PLL,并等待PLL稳定5、把PLLCK切换为系统时钟SYSCLK6、读取时钟切换状态位,确保PLLCLK被选为系统时钟/* 设置系统时钟:SYSCLK, AHB总线时钟:HCLK, APB2总线时钟:PCLK2, APB1总线时钟:PCLK1* PCLK2 = HCLK = SYSCLK* PCLK1 = HCLK/2,最⾼只能是36M* 参数说明:pllmul是PLL的倍频因⼦,在调⽤的时候可以是:RCC_PLLMul_x , x:[2,3,...16]* 举例:HSE_SetSysClock(RCC_PLLMul_9); 则设置系统时钟为:8MHZ * 9 = 72MHZ* HSE_SetSysClock(RCC_PLLMul_16); 则设置系统时钟为:8MHZ * 16 = 128MHZ,超频慎⽤** HSE作为时钟来源,经过PLL倍频作为系统时钟,这是通常的做法*/void HSE_SetSysClock(uint32_t pllmul){__IO uint32_t StartUpCounter = 0, HSEStartUpStatus = 0;// 把RCC外设初始化成复位状态,这句是必须的RCC_DeInit();//使能HSE,开启外部晶振,野⽕开发板⽤的是8MRCC_HSEConfig(RCC_HSE_ON);// 等待 HSE 启动稳定HSEStartUpStatus = RCC_WaitForHSEStartUp();// 只有 HSE 稳定之后则继续往下执⾏if (HSEStartUpStatus == SUCCESS){//----------------------------------------------------------------------//// 使能FLASH 预存取缓冲区FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);// SYSCLK周期与闪存访问时间的⽐例设置,这⾥统⼀设置成2// 设置成2的时候,SYSCLK低于48M也可以⼯作,如果设置成0或者1的时候,// 如果配置的SYSCLK超出了范围的话,则会进⼊硬件错误,程序就死了// 0:0 < SYSCLK <= 24M// 1:24< SYSCLK <= 48M// 2:48< SYSCLK <= 72MFLASH_SetLatency(FLASH_Latency_2);//----------------------------------------------------------------------//// AHB预分频因⼦设置为1分频,HCLK = SYSCLKRCC_HCLKConfig(RCC_SYSCLK_Div1);// APB2预分频因⼦设置为1分频,PCLK2 = HCLKRCC_PCLK2Config(RCC_HCLK_Div1);// APB1预分频因⼦设置为1分频,PCLK1 = HCLK/2RCC_PCLK1Config(RCC_HCLK_Div2);//-----------------设置各种频率主要就是在这⾥设置-------------------//// 设置PLL时钟来源为HSE,设置PLL倍频因⼦// PLLCLK = 8MHz * pllmulRCC_PLLConfig(RCC_PLLSource_HSE_Div1, pllmul);//------------------------------------------------------------------//// 开启PLLRCC_PLLCmd(ENABLE);// 等待 PLL稳定while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){}// 当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLKRCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);// 读取时钟切换状态位,确保PLLCLK被选为系统时钟while (RCC_GetSYSCLKSource() != 0x08){}}else{// 如果HSE开启失败,那么程序就会来到这⾥,⽤户可在这⾥添加出错的代码处理// 当HSE开启失败或者故障的时候,单⽚机会⾃动把HSI设置为系统时钟,// HSI是内部的⾼速时钟,8MHZwhile (1){使⽤HSI配置系统时钟1、开启HSI ,并等待 HSI 稳定2、设置 AHB、APB2、APB1的预分频因⼦3、设置PLL的时钟来源,和PLL的倍频因⼦,设置各种频率主要就是在这⾥设置4、开启PLL,并等待PLL稳定5、把PLLCK切换为系统时钟SYSCLK6、读取时钟切换状态位,确保PLLCLK被选为系统时钟/* 设置系统时钟:SYSCLK, AHB总线时钟:HCLK, APB2总线时钟:PCLK2, APB1总线时钟:PCLK1* PCLK2 = HCLK = SYSCLK* PCLK1 = HCLK/2,最⾼只能是36M* 参数说明:pllmul是PLL的倍频因⼦,在调⽤的时候可以是:RCC_PLLMul_x , x:[2,3,...16]* 举例:HSI_SetSysClock(RCC_PLLMul_9); 则设置系统时钟为:4MHZ * 9 = 72MHZ* HSI_SetSysClock(RCC_PLLMul_16); 则设置系统时钟为:4MHZ * 16 = 64MHZ** HSI作为时钟来源,经过PLL倍频作为系统时钟,这是在HSE故障的时候才使⽤的⽅法* HSI会因为温度等原因会有漂移,不稳定,⼀般不会⽤HSI作为时钟来源,除⾮是迫不得已的情况* 如果HSI要作为PLL时钟的来源的话,必须⼆分频之后才可以,即HSI/2,⽽PLL倍频因⼦最⼤只能是16 * 所以当使⽤HSI的时候,SYSCLK最⼤只能是4M*16=64M*/void HSI_SetSysClock(uint32_t pllmul){__IO uint32_t HSIStartUpStatus = 0;// 把RCC外设初始化成复位状态,这句是必须的RCC_DeInit();//使能HSIRCC_HSICmd(ENABLE);// 等待 HSI 就绪HSIStartUpStatus = RCC->CR & RCC_CR_HSIRDY;// 只有 HSI就绪之后则继续往下执⾏if (HSIStartUpStatus == RCC_CR_HSIRDY){//----------------------------------------------------------------------//// 使能FLASH 预存取缓冲区FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);// SYSCLK周期与闪存访问时间的⽐例设置,这⾥统⼀设置成2// 设置成2的时候,SYSCLK低于48M也可以⼯作,如果设置成0或者1的时候,// 如果配置的SYSCLK超出了范围的话,则会进⼊硬件错误,程序就死了// 0:0 < SYSCLK <= 24M// 1:24< SYSCLK <= 48M// 2:48< SYSCLK <= 72MFLASH_SetLatency(FLASH_Latency_2);//----------------------------------------------------------------------//// AHB预分频因⼦设置为1分频,HCLK = SYSCLKRCC_HCLKConfig(RCC_SYSCLK_Div1);// APB2预分频因⼦设置为1分频,PCLK2 = HCLKRCC_PCLK2Config(RCC_HCLK_Div1);// APB1预分频因⼦设置为1分频,PCLK1 = HCLK/2RCC_PCLK1Config(RCC_HCLK_Div2);//-----------------设置各种频率主要就是在这⾥设置-------------------//// 设置PLL时钟来源为HSE,设置PLL倍频因⼦// PLLCLK = 4MHz * pllmulRCC_PLLConfig(RCC_PLLSource_HSI_Div2, pllmul);//------------------------------------------------------------------//// 开启PLLRCC_PLLCmd(ENABLE);// 等待 PLL稳定while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){}// 当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLKRCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);// 读取时钟切换状态位,确保PLLCLK被选为系统时钟while (RCC_GetSYSCLKSource() != 0x08){}}else{// 如果HSI开启失败,那么程序就会来到这⾥,⽤户可在这⾥添加出错的代码处理// 当HSE开启失败或者故障的时候,单⽚机会⾃动把HSI设置为系统时钟,// HSI是内部的⾼速时钟,8MHZwhile (1){MCO输出MCO GPIO初始化/** 初始化MCO引脚PA8* 在F1系列中MCO引脚只有⼀个,即PA8,在F4系列中,MCO引脚会有两个*/void MCO_GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;// 开启GPIOA的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// 选择GPIO8引脚GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;//设置为复⽤功能推挽输出GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//设置IO的翻转速率为50MGPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;// 初始化GPIOA8GPIO_Init(GPIOA, &GPIO_InitStructure);}输出// MCO 引脚初始化MCO_GPIO_Config();// 设置MCO引脚输出时钟,⽤⽰波器即可在PA8测量到输出的时钟信号,// 我们可以把PLLCLK/2作为MCO引脚的时钟来检测系统时钟是否配置准确// MCO引脚输出可以是HSE,HSI,PLLCLK/2,SYSCLK//RCC_MCOConfig(RCC_MCO_HSE);//RCC_MCOConfig(RCC_MCO_HSI);//RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);RCC_MCOConfig(RCC_MCO_SYSCLK);Systick系统定时器简介SysTick——系统定时器是属于 CM3 内核中的⼀个外设,内嵌在 NVIC 中。
stm32 时钟频率函数
stm32 时钟频率函数STM32微控制器中的时钟频率设置是非常重要的,它直接影响着微控制器的运行速度和功能的稳定性。
在使用STM32系列微控制器开发应用程序时,我们需要了解如何正确地配置和管理时钟频率。
1.时钟系统概述在STM32微控制器中,时钟被用来驱动各种外设和内部模块,如CPU、外设总线、GPIO、ADC、UART等。
微控制器一般由一个或多个时钟源驱动,根据具体的型号和配置可能有不同的时钟源。
主要的时钟源包括:-外部晶振:通过外部晶振提供稳定的时钟信号。
-内部振荡器:通过内部的晶振或RC振荡器提供时钟信号。
- PLL锁相环:通过多倍频或分频的方式生成更高精度的时钟信号。
时钟源经过各种分频、倍频等操作后,最终形成各个外设和系统模块需要的时钟频率。
2.时钟树结构STM32微控制器的时钟系统是由多个时钟源和各种时钟分频器组成的树状结构,这就是所谓的“时钟树”。
时钟树结构可以分为三个主要部分:- RCC寄存器:主要用于配置和控制各种时钟源和时钟分频器。
-时钟源:包括主要时钟源和辅助时钟源,例如外部晶振、内部振荡器等。
-时钟分频器:用于将时钟源的频率分频得到其他模块所需的时钟频率。
时钟树结构如下图所示:```┌───────────────┐│ ││ │┌────────▼─────────┐ ││RCC寄存器(时钟源)│ │└────────▲─────────┘ ││ ││ │┌──────────▼──────────┐ ││时钟源│ │└──────────┬──────────┘ ││ ││ │┌──────────────▼───────────────┐│时钟分频器和倍频器│└─────────────────────────────┘```3.时钟频率配置STM32的时钟频率配置主要通过对RCC(Reset and Clock Control)寄存器的配置完成。
RCC寄存器控制着时钟源的选择和各个时钟分频器的设置。
STM32时钟配置方法详解
STM32时钟配置方法详解时钟树是STM32微控制器中一系列时钟源和时钟分频器的组成部分。
时钟树包括系统时钟、外设时钟和内核时钟。
系统时钟用于驱动整个微控制器系统的核心,外设时钟用于驱动各种外设,内核时钟用于驱动CPU的运算。
在进行时钟配置之前,首先需要了解系统所需的时钟频率。
在STM32中,系统时钟可以通过多种方式进行配置,例如使用外部晶体、外部时钟、内部RC振荡器或者PLL(锁相环)等方式。
外部晶体是一种常用的时钟源,可以提供高精度的时钟频率。
在使用外部晶体时,首先需要设置PLL的时钟源为外部晶体,并设置PLL输入除频器的分频系数。
然后,再根据系统所需的时钟频率,设置PLL的倍频系数,以得到最终的系统时钟频率。
外部时钟是从外部提供的时钟信号,一般用于测试和调试。
使用外部时钟时,需要设置PLL的时钟源为外部时钟,并设置PLL的倍频系数,以得到所需的系统时钟频率。
内部RC振荡器是一种低成本的时钟源,但是其频率不如外部晶体稳定和精确。
在使用内部RC振荡器时,需要设置PLL的时钟源为内部RC振荡器,并设置PLL的倍频系数,以得到所需的系统时钟频率。
PLL是一种用于产生稳定高频时钟的电路,可以从一个低频时钟源产生一个高频时钟源。
使用PLL时,需要设置其输入时钟源和倍频系数。
系统时钟的分频系数可以通过RCC_CFGR寄存器进行设置。
RCC_CFGR寄存器的各个位域用于配置系统时钟的分频系数,包括分频因子、APB1的分频系数、APB2的分频系数等。
外设时钟是用于驱动外设的时钟,可以由系统时钟分频得到。
外设时钟的分频系数可以通过RCC_CFGR寄存器及各个外设的控制寄存器进行设置。
内核时钟是用于驱动CPU的运算的时钟。
在STM32微控制器中,CPU 时钟可以由系统时钟分频得到,分频系数可以通过RCC_CFGR寄存器和FLASH_ACR寄存器进行设置。
除了上述方法之外,STM32还可以使用时钟配置工具进行时钟配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
Conclusion . . . . . . . . . . . . . . . . . . . . .
.......................... 1
5
.
4
Revision
history . . . . . . . . . . . . . . . . . . . . . . 1
6
.....................
for
STM32F37x
microcontrollers . . . . . . . . . . . . . . . . . . . 6
2.2.3
I2S
clock
generator . . . . . . . . . . . . . . . . . . . . . . . .
. . .. . . . .. . . . .. . . . 8
资料有点乱想要的可以到我公司网站下载: 联系 电话:021-53086303
Doc
ID
023352
Rev
1
3/1
6
资料有点乱想要的可以到我公司网站下载: 联系电话:021-53086303
Glossary
1
Glossary
. . . . . . . . . . . . . . . . . 11 Figure 7. System clock frequency is
exceeded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 12
0 Setting of the PCLK1, PCLK2, TIMCLK (timer clocks) and I2SCLK frequencies
0 Generation of a ready-to-use system_stm32f37x.c file with all the above settings (STM32F37x CMSIS Cortex-M4 Device Peripheral Access Layer System Source File)
2
...................
6
2.2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2
Clock
scheme
Before using the clock tool, it is essential to read the STM32F37x microcontroller reference manual (RM0313). This application note is not a substitute for the reference manual.
9
Expert
3. mode . . . . . . . . . . . . . . . . . . . . . . . . 1
2
.......................
1
Known
limitations . . . . . . . . . . . . . . . . . . . . 1
4
......................
. . . . . . . . . . . . . . . . . 9 Figure 4. Select the clock
source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . 10 Figure 5. File generation
referred to as “STM32F37x clock configuration tool“ throughout the document.
“STM32F37x“ will refer to STM32F37xx and STM32F38x.
The
configuration
tool
is
implemented
Tutorials . . . . . . . . . . . . . . . . . . . . . . ..........................
3
...
9
Wizard
3. mode . . . . . . . . . . . . . . . . . . . . . . .
1 ........................
资料有点乱想要的可以到我公司网站下载: 联系电话:021-53086303
AN4132 Application note
Clock
configuration
tool
for
STM32F37x/STM32F3
8x
microcontrollers
Introduction
consideration product parameters such as power supply and Flash access mode.
Note: The clock configuration tool for STM32F37xx and STM32F38xx microcontrollers will be
This application note presents the clock system configuration tool for the STM32F37x and STM32F38x microcontroller families.
The purpose of this tool is to help the user to configure the microcontroller clocks, taking into
This tool supports the following functions for the STM32F37x:
0 Configuration of the system clock, HCLK source and output frequency
0 Configuration of the Flash latency (number of wait states depending on the HCLK frequency)
clock
generator
architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . 8 Figure 3. Wizard mode user
interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
资料有点乱想要的可以到我公司网站下载: 联系 电话:021-53086303
2/16 Rev 1
Doc ID 023352
资料有点乱想要的可以到我公司网站下载: 联系电话:021-53086303
AN4132 figures
The STM32F37x_Clock_Configuration_VX.Y.Z.xls is referred to as “clock tool” throughout this document.
资料有点乱想要的可以到我公司网站下载: 联系电话:021-53086303
This tool supports only the STM32F37x devices.
For VX.Y.Z, please refer to the tool version, example V1.0.0.
Table 1 lists the microcontrollers concerned by this application note.
Tabl e 2.
Definition of terms
Term
Description
HCLK
PCLK 1
PCLK 2
TIMC LK
F CPU
Ext.Clock
V DD
HSI
AHB clock
APB1 clock
APB2 clock
Timer clock Cortex-M4 clock External clock Power supply High-speed internal clock
Contents
Contents
AN41 32
Glossary . . . . . . . . . . . . . . . . . . . . . .
...........................
1
..
4
Getting
started . . . . . . . . . . . . . . . . . . . . . . .
“STM32F37x_Clock_Configuration_VX.Y.Z.xls”
file which is supplied with the STM32F37x Standard
Library and can be
downloaded from .
in
the
Peripherals
List of figures
List
of
Figure
1.
Clock