您的位置 首页 FPGA

STM32时钟装备规划中的常见问题解析

STM32时钟配置设计中的常见问题解析-在线调试的朋友应该知道,你点一下复位按钮,软件会跳转到下图的位置,其实可以看到复位之后第一个执行的函数就是【SystemInit】。说到这里,应该明白为什么我们在main函数开始没有看见时钟配置相关的函数了吧,程序是在复位后立马配置的时钟。

Ⅰ、写在前面

最近有许多朋友问:1.我的USART串口打印出来的数据是乱码?2.我的TIM守时器延时或守时不精确?

常见或许原因:

1.晶振问题:外部晶振不起振、或频率与装备不匹配。

2.软件问题:分频、倍频、时钟源挑选等。

总结来说,首要还在于软件的问题。由于即便没有外部晶振,也能够运用内部晶振。

其实,软件的问题是简单得到解决的,只需你了解了STM32时钟装备里边具体内容就知道了。

关于本文的具体内容请看下面章节

Ⅱ、本文关键

要了解时钟的装备,就需求知道它在哪里装备,也便是还需求了解软件履行的流程。

1.软件流程

说软件流程是让咱们知道体系时钟装备的方位。不管是运用寄存器开发,仍是运用库(规范库、HAL库)开发STM32,工程中基本上都有“startup_stm32fxxxxx.s”这么一个发动文件。

在线调试的朋友应该知道,你点一下复位按钮,软件会跳转到下图的方位,其实能够看到复位之后第一个履行的函数便是【SystemInit】。提到这儿,应该了解为什么咱们在main函数开端没有看见时钟装备相关的函数了吧,程序是在复位后立马装备的时钟。

STM32时钟装备规划中的常见问题解析

2.时钟装备方位

运用库库(规范库、HAL库)开发STM32的朋友,在工程中都或许会看到“system_stm32fxxx.c”这么一个文件,这个文件里边代码首要的功用便是装备STM32的体系时钟。

上面发动文件中提到的【SystemInit】函数便是在这个文件里边,【SystemInit】函数里边便是装备体系时钟的具体内容。装备体系时钟首要便是时钟源挑选、分频、倍频等。

留意:STM32有多系列芯片,这儿【SystemInit】函数里边代码的内容也因而不同。

3.外部晶振频率、体系时钟频率

关于初学者,简单受到影响的便是两个参数:HSE_VALUE(外部晶振频率)、SystemCoreClock(体系时钟)。这个两个参数在ST供给的库中都有一个参考值,一般的开发板都是依照参考值规划的晶振,所以不必修正。但假如不同,那么就要修正。方位分别在“stm32fxxx.h”和“system_stm32fxxx.c”文件下面,如下图(F4系列为例):

STM32时钟装备规划中的常见问题解析

STM32时钟装备规划中的常见问题解析

4.时钟树

时钟树是很好反响时钟时钟源挑选、分频、倍频的一个框图,要深化了解,请下载相关参考手册检查RCC章节的时钟树,下面截取部分系列芯片时钟树图:

STM32时钟装备规划中的常见问题解析

STM32时钟装备规划中的常见问题解析

STM32时钟装备规划中的常见问题解析

5.MCO时钟输出

验证时钟装备是否正确的办法能够经过MCO输出时钟,用示波器检测一下就知道了。我前面供给的软件工程中有一段代码(如下图),首要便是MCO时钟输出的代码。

STM32时钟装备规划中的常见问题解析

Ⅲ、阐明

需求深化把握STM32体系时钟装备的内容,还需求你自己仔细阅览以下源代码(主张看一下注释阐明)。官方供给的代码从命名上都是很简单了解的。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部