您的位置 首页 数字

根据STM32时钟体系的开发及装备

基于STM32时钟系统的开发及配置-研究过时钟来源,再来研究时钟的去向,MCU自身要能正常运作,即需要一个时钟,这个时钟既是系统时钟(SYSCLK),而基本上所有外设的时钟均来自于这个系统时钟(SYSCLk)。然后由系统时钟对外提供各种外设时钟。

一、布景

最近做个项目,需求运用STM32,仍是曾经相同的观念,时钟便是MCU心脏,供血即时钟频率输出,想要弄理解一个MCU,时钟是一个非常好的切入点。言归正传,网上已经有太多大神胪陈过STM32的具体装备办法了,在此就简略介绍下STM32时钟体系,以及怎么装备做个简略记载,便利今后的快速开发。

二、正文

废话不多说,上一张STM32F10xx的时钟树图:

根据STM32时钟体系的开发及装备
 

由图可知,STM32F10XX有两级时钟

榜首级时钟

* 高速内部时钟(HSI)

* 锁相环时钟(PLLCLK)

* 高速外部时钟(HSE)

第二级时钟

* 低速内部时钟(LSI)

* 低速外部时钟(LSE)

又由图可知,

* HSE由外部晶振从“OSC_OUT”,“OSC_IN”两脚输入供给。

* LSE由外部晶振从“OSC32_OUT”,“OSC32_IN”两脚输入供给。

* HSI由8MHZ高速内部RC震动电路供给。

* LSI由40kHZ低速内部RC震动电路供给。

STM32F10XX还可经过MCO脚向外供给时钟输出。时钟来历有PLLCLK/HSI/HSE/SYSCLK,由MCO挑选器来挑选。

研讨过时钟来历,再来研讨时钟的去向,MCU本身要能正常运作,即需求一个时钟,这个时钟既是体系时钟(SYSCLK),而基本上一切外设的时钟均来自于这个体系时钟(SYSCLk)。然后由体系时钟对外供给各种外设时钟。详见图。

当然,也有破例,USB时钟有必要为48MHZ,这儿的USB时钟(USBCLK)由PLLCLK直接供给,RTC时钟(RTCCLK)也不是来历于体系时钟(SYSCLK),详见图。

时钟结构大体也就如此,不再深究,网上有许多愈加深化的解说,接下来说说怎么去装备。用代码来阐明问题:

先贴文件“system_stm32f10x.c”,此文件即库文件。里边有一个很重要的函数“SystemInit()”

解析过STM32发动代码的朋友都应该知道,这个函数跑在进入main函数之前,里边做的工作便是装备体系时钟。代码如下:

voidSystemInit(void){/*ResettheRCCclockconfiguraTIontothedefaultresetstate(fordebugpurpose)*//*SetHSIONbit

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/347176.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部