STM32时钟配置设计中的常见问题解析.doc

上传人:白大夫 文档编号:3273759 上传时间:2019-08-07 格式:DOC 页数:2 大小:15KB
返回 下载 相关 举报
STM32时钟配置设计中的常见问题解析.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32时钟配置设计中的常见问题解析.doc》由会员分享,可在线阅读,更多相关《STM32时钟配置设计中的常见问题解析.doc(2页珍藏版)》请在三一文库上搜索。

1、STM32时钟配置设计中的常见问题解析、写在前面最近有很多朋友问:1.我的USART串口打印出来的数据是乱码?2.我的TIM定时器延时或定时不准确?常见可能原因:1.晶振问题:外部晶振不起振、或频率与配置不匹配。2.软件问题:分频、倍频、时钟源选择等。总结来说,主要还在于软件的问题。因为即使没有外部晶振,也可以使用内部晶振。其实,软件的问题是容易得到解决的,只要你了解了STM32时钟配置里面具体内容就知道了。关于本文的详细内容请看下面章节、本文要点要了解时钟的配置,就需要知道它在哪里配置,也就是还需要了解软件执行的流程。1.软件流程说软件流程是让大家知道系统时钟配置的位置。不管是使用寄存器开发

2、,还是使用库(标准库、HAL库)开发STM32,工程中基本上都有“startup_stm32fxxxxx.s”这么一个启动文件。在线调试的朋友应该知道,你点一下复位按钮,软件会跳转到下图的位置,其实可以看到复位之后第一个执行的函数就是【SystemInit】。说到这里,应该明白为什么我们在main函数开始没有看见时钟配置相关的函数了吧,程序是在复位后立马配置的时钟。2.时钟配置位置使用库库(标准库、HAL库)开发STM32的朋友,在工程中都可能会看到“system_stm32fxxx.c”这么一个文件,这个文件里面代码主要的功能就是配置STM32的系统时钟。上面启动文件中说到的【SystemI

3、nit】函数就是在这个文件里面,【SystemInit】函数里面就是配置系统时钟的具体内容。配置系统时钟主要就是时钟源选择、分频、倍频等。注意:STM32有多系列芯片,这里【SystemInit】函数里面代码的内容也因此不同。3.外部晶振频率、系统时钟频率对于初学者,容易受到影响的就是两个参数:HSE_VALUE(外部晶振频率)、SystemCoreClock(系统时钟)。这个两个参数在ST提供的库中都有一个参考值,一般的开发板都是按照参考值设计的晶振,所以不用修改。但如果不同,那么就要修改。位置分别在“stm32fxxx.h”和“system_stm32fxxx.c”文件下面,如下图(F4系列为例):4.时钟树时钟树是很好反应时钟时钟源选择、分频、倍频的一个框图,要深入理解,请下载相关参考手册查看RCC章节的时钟树,下面截取部分系列芯片时钟树图:5.MCO时钟输出验证时钟配置是否正确的方法可以通过MCO输出时钟,用示波器检测一下就知道了。我前面提供的软件工程中有一段代码(如下图),主要就是MCO时钟输出的代码。、说明需要深入掌握STM32系统时钟配置的内容,还需要你自己认真阅读以下源代码(建议看一下注释说明)。官方提供的代码从命名上都是很容易理解的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1