STM32之系统时钟的建立

发布者:SereneGardener最新更新时间:2017-09-23 来源: eefocus关键字:STM32  系统时钟 手机看文章 扫描二维码
随时随地手机看文章

这里必须阐明系统时钟的简历对于系统运行的重要性。系统所有的运行都是建立在时钟的正常运行上的,没有稳健的系统时钟,就不可能有稳定的系统。

在系统中,复位后首要的任务是建立系统时钟,以下是建立系统时钟的基本步骤:

1. 将所有的RCC外设寄存器重设为默认值;

2.启用外部高速晶振;

3.等待,知道外部高速晶振稳定;

4.设置欲取指缓存使能和代码延时值;

5.设置AHB(HCLK)等于系统时钟;

6.设置高速APB2(PCLK2)为系统时钟;

7.设置低速APB1(PCLK1)为系统时钟的1/2,APB2最高是38MHz;

8.设置PLL时钟源及倍频系数,使能PLL,经过PLL被频后最高时钟只能72MHz;

9.等待PLL初始化;

10.设置PLL为系统时钟;

11.等待PLL成功作为系统时钟源。

以下通过实例代码表征上述的使用方法。主要就是根据以上的系统时钟配置的顺序来做代码处理:
ErrorStatus HSEStatusUpStatus;

//将外设RCC寄存器重设为默认值

RCC_DeInit();

//设置外部高速晶振

RCC_HSEConfig(RCC_HSE_ON);

//等待HSE起振

HSEStatusUpStatus = RCC_WaitForHSEStatusUp();

if(HSEStatusUpStatus == SUCESS)

{

//预取指缓存使能

FLASH_PrefetchBufferCmd(FLASH_PertchBuffer_Enable);

//设置代码延时值,FLASH_Latency_2,2 延时周期

FLASH_SetLatency(FLASH_Latency_2);

//设置AHB时钟(HCLK)

//RCC_SYSCLK_Div1 AHB 时钟 = 系统时钟

RCC_HCLKConfig(RCC_SYSCLK_Div1);

 //设置高速AHB2为系统时钟

RCC_PCLK2Config(RCC_HCLK_Div1);

//设置低速AHB时钟

RCC_PCLK2Config(RCC_HCLK_Div2);

//设置PLL时钟

RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);

//使能PLL

RCC_PLLCmd(enable);

// 等待指定RCC标志位设置成功,等待PLL初始化成功

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)

{

}

//设置PLL为系统时钟

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK)

//0x00 HSI,0X04 HSE,0X08 PLL

while(RCC_GetSYSCLKSource() != 0x08)

{

}

}


关键字:STM32  系统时钟 引用地址:STM32之系统时钟的建立

上一篇:STM32之外部中断和中断控制器
下一篇:STM32之ADC库函数的介绍

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

stm32定时器概述
stm32的定时器分3类:基本定时器、通用定时器和高级定时器,其中通用定时器分两组:(TIM2-TIM5)和(TIM9-TIM14)。 基本定时器(TIM6、TIM7) 功能:基本定时和驱动DAC 16位自动重装递增计数器 16位可编程预分频器 频率:84MHz 中断源:计数器上溢更新中断 通用定时器(TIM9到TIM14) 16位自动重装递增计数器 16位可编程预分频器 TIM9和TIM12有两路单通道,其余TIM10、11、13、14都有一路单通道 多定时器互联同步 中断源:更新、输入捕获、输出比较 TIM9和TIM12 时钟源:内部时钟、外部时钟(外部输入引脚TIx)、定时器互同步时钟 常用功能模式:基本
[单片机]
<font color='red'>stm32</font>定时器概述
STM32经验心得(一)
相关经验及心得如下:  摘要:1.在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。2 .在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。3.相关配置程序编写无误,并已经开启时钟,依旧无法配置相关GPIO及外设;4.ADC通道:分为规则组和注入组;5.修改定时器的预装值后,定时器不能立刻修改。 一、 USART TX中断配置 1. 问题描述: 在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。 2. 问题分析: 在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。 (TC标志位:发送完成标志位 ) 当包含有数据的一帧发送
[单片机]
<font color='red'>STM32</font>经验心得(一)
基于STM32的嵌入式测控系统设计与实现
测控系统是水动力实验中的重要测试设备。在实验中有压力、拉力、加速度等物理量通过传感器转换成电压值,需要准确记录。虽然实验模型有很多种,但是共用传感器及测控系统,因此对测控系统的通用性和用户界面友好性提出了要求。本文采用嵌入式架构设计了测控系统。 本文设计的系统硬件基于STM32芯片,具有很强的扩展能力,易于移植,其外设单元资源丰富,能够达到系统要求的精度和范围。 1、硬件架构 采用嵌入式架构(见图1)的优点是通用性强,便于在多平台移植;主控芯片外围电路模块丰富,包括ADC、DA、CAN和SDIO等接口,独立完成对多种类型设备的测量、控制。芯片的主频高,运算能力也很强,适合嵌入复杂的算法。完全适合作为测控系统,具备系统升级
[单片机]
基于<font color='red'>STM32</font>的嵌入式测控<font color='red'>系统</font>设计与实现
STM32窗口看门狗详解
本文将介绍窗口看门狗,并通过按键模拟触发程序死机、进而触发提前唤醒中断、并复位程序。 ①窗口看门狗介绍 ②STM32CUBEMX配置工程文件 ③代码实现 ①窗口看门狗介绍 窗口看门狗用来监测由于不可预知的因素或者不可预知的逻辑条件导致程序脱离正常运行序列的软件故障。 窗口看门狗介绍之工作原理框图: 窗口看门狗介绍之配置寄存器: 预分频器用于将RCC传来的PCLK1时钟进行分频,配置寄存器中第7位第8位用来存放预分频器的预分频值,第0位至第6位用于存放窗口看门狗的窗口值,当计数器的值大于窗口值时喂狗会触发复位、即只有计数器的值在0x40与窗口值之间时喂狗不会触发程序复位;所以窗口值需要大于0x40、小于0x7f,否则窗口没有
[单片机]
<font color='red'>STM32</font>窗口看门狗详解
stm32 ADC的规则通道和注入通道混合使用
之前完成了规则通道DMA的数据传输了,不过平时在使用ADC的时候可能就会遇到很多情况,不可能就这样简单的按规则通道来采样,DMA存储,使用数据的;可能有时候会需要立刻采样,那样我们就需要利用到注入通道了。文档关于注入通道的解释: 1 利用外部触发或通过设置ADC_CR2寄存器的ADON位,启动一组规则通道的转换。 2 如果在规则通道转换期间产生一外部注入触发,当前转换被复位,注入通道序列被以单次扫描方式进行转换。 3 然后,恢复上次被中断的规则组通道转换。如果在注入转换期间产生一规则事件,注入转换不会被中断,但是规则序列将在注入序列结束后被执行。   将变阻器的那路ADC设置为注入通道: 1 ADC_In
[单片机]
<font color='red'>stm32</font> ADC的规则通道和注入通道混合使用
STM32之CANTTCAN模式浅析
1 前言 传统CAN 采用事件触发消息传输机制,CSMA/ CD+ AMP( Carrier-Sense Mult iple Access w ith Co llision Detect ion and Arbit ration on Message Priorit ies, 载波侦听、多路访问、冲突检测、优先级仲裁) 介质访问控制机制, 即多个消息同时发送时, 按照消息标识符的优先级顺序, 低优先级消息自动退出, 高优先级消息继续发送。这种介质访问方式提高了网络的利用率和高优先级消息的实时性, 但在重负载CAN 中, 低优先级消息经常由于总线冲突而被迫退出发送, 导致低优先级消息传输时延长, 且传输时延不可预测,
[单片机]
<font color='red'>STM32</font>之CANTTCAN模式浅析
MSP430 5438时钟系统介绍
简介:UCS模块支持低功耗。它内部含有三个时钟信号,用户可以自行选择,找到性能和功耗的平衡点。UCS软件配置后,只需要一两个晶振或者电阻,而不需要使用外部振荡器。 1.1时钟系统介绍 UCS模块最多含有5个时钟源: l XT1CLK:低频/高频振荡器,可以使用低频 32768HZ 晶振和外部振荡器或者通过外部输入源输入4MHZ~32MHZ时钟。 l VLOCLK:内部低消耗,低频振荡器。典型值为 12KHZ。 l REFOCLK:内部低频振荡器,典型值为 32768HZ,作为 FLL基准源。 l DCOCLK:内部数字控制振荡器(DCO)可以通过 FLL来稳定。 l XT2CLK:可选择的高频振荡器,可以使用标准晶振,振荡
[单片机]
MSP430 5438<font color='red'>时钟</font><font color='red'>系统</font>介绍
玩转STM32(1)入门硬件的基本条件
由于嵌入式软件都是在设备里,相对PC软件来说更容易实现价值,即使软件非常简单,比如万行级别的软件就可以实现很好的功能了,如果这样万行级别的PC软件,很难卖出一个价钱来的,现在PC上的软件都是几十万行,或者百万行级别上才能实现价值的销售,从这个角度来说,嵌入式软件比PC软件更容易实现代码的变现能力,当然PC上容易变现能力的代码是前端、后端,但这样需要很多商业模式,比如像淘宝这样。因此嵌入式软件开发,还是一个蛮有竞争力的市场,也适合小团队,甚至个人独立完成开发的工作。另外,工业互联网和物联网也在迅猛发展,对这个需求更加广泛了。比如智能音箱已经在农村进行推广,因为农村电话网全部改为光纤网络,有线电视也全部光纤改造了,因此上网的必备条件已
[单片机]
玩转<font color='red'>STM32</font>(1)入门硬件的基本条件
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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