STM32F334系统时钟的配置RCC_Config()

发布者:SereneNature7最新更新时间:2017-09-30 来源: eefocus关键字:STM32F334  系统时钟  配置RCC 手机看文章 扫描二维码
随时随地手机看文章

MCU:STM32F334C8T6

Frameware:STM32F3348-Discovery_FW_V1.0.0

RCC时钟配置步骤:


  1. 重置RCC为默认值:RCC_DeInit();  库函数中可以查到这个函数选择HSI为系统时钟(见图)

  2. 打开外部高速时钟晶振HSE

  3. 等待HSE工作

  4. 设置AHB时钟

  5. 设置高速APB(2)时钟

  6. 设置低速APB(1)时钟

  7. 设置PLL

  8. 打开PLL

  9. 等待PLL工作

  10. 设置系统时钟

  11. 等待系统时钟设置成功

  12. 打开所需时钟

代码:


  1. void RCC_Config(void)  

  2. {  

  3.     // 1. 默认设置,HSI为系统时钟: 8M  

  4.     RCC_DeInit();  

  5.     // 2. 打开HSE : 8M  

  6.     RCC_HSEConfig(RCC_HSE_ON);  

  7.     // 3. 等待  

  8.     RCC_WaitForHSEStartUp();  

  9.     // 4. 设置AHB = SYSCLK  

  10.     RCC_HCLKConfig(RCC_SYSCLK_Div1);  

  11.     // 5. 设置APB2 = AHB  

  12.     RCC_PCLK2Config(RCC_HCLK_Div1);  

  13.     // 6. 设置APB1 = AHB/2  

  14.     RCC_PCLK1Config(RCC_HCLK_Div2);  

  15.     // 7. 设置PLL  , Source = 8M , PLLMul = 9   

  16.     RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);  

  17.     // 8. 打开PLL  

  18.     RCC_PLLCmd(ENABLE);  

  19.     // 9. 等等PLL 就绪  

  20.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);  

  21.     // 10. 设置系统时钟SYSCLK=PLLCLK=8*9=72M  

  22.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  

  23.     // 11.等待设置成功  

  24.     while(RCC_GetSYSCLKSource() != 0x08);  

  25.       

  26.     // 12. 打开使用的时钟  

  27.     //..............  

  28. }  

设置完成,系统时钟 :SYSCLK=72M,AHB: HCLK=72M,APB2:PCLK2=72M,PAB1:PCLK1=36M

附图:

STM32F334xx时钟树:


关键字:STM32F334  系统时钟  配置RCC 引用地址:STM32F334系统时钟的配置RCC_Config()

上一篇:STM32F334使用串口发送接收数据
下一篇:STM32管脚复用的理解

推荐阅读最新更新时间:2024-03-16 15:39

S3C2440系统时钟讲解
FCLK - CPU HCLK- AHB总线 PCLK - APB总线 两个锁相环(PLL) MPLL- FCLK HCLK PCLK UPLL - USB(48M) 时钟来源 外部晶振- PLL- FCLK- HCLK- PCLK 必须先配置MPLLCON MPLL才会输出系统时钟 在软件重新配置PLLCON 寄存器之前系统时钟使用晶振时钟,即如果不配置PLLCON则系统时钟为晶振时钟(12M)(即上电后要想使用PLL放大晶振频率就要配置 MPLLCON) CLKDIVN寄存器中HDIVN和 PDIVN 决定FCLK HCLK PCLK之间的比例 HDIVN:1 PDIVN:1
[单片机]
STM32如何使用内部时钟源当系统时钟
由于最近老师让做一个项目,要用到STM32但是考虑成本问题,决定不用外部时钟,所以在网上搜集整理了一些资料,加上自己的一些想法。 参考资料: http://bbs.ednchina.com/BLOG_ARTICLE_3011869.HTM http://bbs.21ic.com/icview-587714-1-1.html 首先在主程序中注释掉SystemInit(); 然后使用下面的函数做为系统时钟的初始化函数 void RCC_Configuration(void) { RCC_DeInit();//将外设 RCC寄存器重设为缺省值 RCC_HSICmd(ENABLE);//使能HSI
[单片机]
STM32如何使用内部<font color='red'>时钟</font>源当<font color='red'>系统</font><font color='red'>时钟</font>
STM32系统学习——RCC(使用HSE/HSI配置时钟
** STM32系统学习——RCC(使用HSE/HSI配置时钟) ** RCC :reset clock control 复位和时钟控制器。主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,STM32 的一切时钟的来龙去脉都会了如指掌。 一、RCC主要作用——时钟部分 设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK是多少)、设置APB2分频因子(设定PCLK2等于多少)、设置APB1分频因子(决定PCLK1等于多少);控制AHB/APB2/APB1这3条总线开启,控制每个外设时钟的开启。 对于SYSCLK、HCLK、PCLK2、PCLK1这4个时钟的配置一般是:PCLK2=HCLK=SYSCLK=PLLC
[单片机]
S5PV210(TQ210)学习笔记——系统时钟和串口
TQ210的系统时钟配置和串口配置非常简单,本文从TQ210的系统时钟配置开始讨论。 TQ210的时钟配置跟2440/6410的时钟配置差不多,只是锁相环的个数略有不同,配置步骤是一样的。配置系统时钟,无非要经过以下几个步骤: (1)设置系统PLL锁定时间 (2)配置PLL (3)配置各模块分频系数 (4)切换到PLL时钟 简单的看着四步似乎没有头绪,但是看到手册中的 S5PV210时钟生成线路图 就可以理解了,现在截图如下: 上图中无非就三种模块,PLL、MUX和DIV,MUX控制时钟源选择,PLL负责生成PLL时钟,DIV负责分频。 为了系统稳定,在设计电路时我们一般不会使用太高频率的晶振(避免高频线间/层间干
[单片机]
S5PV210(TQ210)学习笔记——<font color='red'>系统</font><font color='red'>时钟</font>和串口
外国器件PCF8563I2C实时时钟/日历芯片在8051系统中的应用
    摘要: PCF8563是PLILIPS公司生产的低功耗CMOS实时时钟/日历芯片,文中介绍了PCF8563的结构、功能及工作原理。结合其在8051系统中的应用实例,给出了PCF8563与8051单片机的硬件接口电路和C语言软件编程程序。     关键词: I2C总线 串行接口 PCF8563 BCD码 C语言 1 PCF8563简介 PCF8563是PHILIPS公司生产的低功耗CMOS实时时钟/日历芯片,芯片最大总线速度为400kbits/s,每次读写数据后,其内嵌的字地址寄存器器会自动产生增量。PCF8563可广泛应用于移动电话、便携仪器、传真机、电池电源等产品中。 PCF8563的引脚
[应用]
STM32的系统时钟配置的代码的讲解
ST公司默认是将系统时钟配置到72MHZ。 以下的七个步奏是设置系统时钟的函数,该函数截取自库文件system_stm32f10x.c。 将互联型相关的代码删掉便于分析,并标上了序号,总共七个步奏,这个顺序也是系统时钟配置的 的步奏,通过直接操作寄存器,主要相关的寄存器,主要是时钟配置寄存器RCC_CFGR,具体位的设置 和bit的含义,参考STM32参考手册 static void SetSysClockTo72(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; // SYSCLK, HCLK, PCLK2 and PCLK1 配置过程的顺序 //(1
[单片机]
STM32F4系统时钟配置及描述
这里我们写一个RCC配置函数来说明各函数的用途,其中HSE = 8MHz。 /** * @说明 配置STM32F407的时钟系统 * @参数 无 * @返回 无 * @说明 void Clock_Config(void) 按如下表格配置时钟 * *================================================================== * Supported STM32F4xx device revision | Rev A *------------------------------------------------------------------
[单片机]
LinkedInSTM32F4时钟系统初始化的程序代码分享
时钟系统 寄存器 LinkedInSTM32F4 时钟系统初始化是在system_stm32f4xx.c中的 SystemInit()函数中完成的。 对于系统时钟关键寄存器设置主要是在 SystemInit 函数中调用 SetSysClock()函数来设置的。我们可以先看看 SystemInit ()函数体: void SystemInit(void) { #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB-》CPACR |= ((3UL 《《 10*2)|(3UL 《《 11*2)); #endif RCC-》CR |= (uint32_t)0x00000001
[单片机]
LinkedInSTM32F4<font color='red'>时钟</font><font color='red'>系统</font>初始化的程序代码分享
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved