浅谈STM32时钟配置及相关问题

发布时间:2023-05-19  

Ⅰ、写在前面

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


常见可能原因:

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

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

总结来说,主要还在于软件的问题。因为即使没有外部晶振,也可以使用内部晶振。

其实,软件的问题是容易得到解决的,只要你了解了STM32时钟配置里面具体内容就知道了。

关于本文的详细内容请看下面章节


Ⅱ、本文要点

要了解时钟的配置,就需要知道它在哪里配置,也就是还需要了解软件执行的流程。

1.软件流程

说软件流程是让大家知道系统时钟配置的位置。不管是使用寄存器开发,还是使用库(标准库、HAL库)开发STM32,工程中基本上都有“startup_stm32fxxxxx.s”这么一个启动文件。

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

2.时钟配置位置

使用库库(标准库、HAL库)开发STM32的朋友,在工程中都可能会看到“system_stm32fxxx.c”这么一个文件,这个文件里面代码主要的功能就是配置STM32的系统时钟。

上面启动文件中说到的【SystemInit】函数就是在这个文件里面,【SystemInit】函数里面就是配置系统时钟的具体内容。配置系统时钟主要就是时钟源选择、分频、倍频等。

注意:STM32有多系列芯片,这里【SystemInit】函数里面代码的内容也因此不同。

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

对于初学者,容易受到影响的就是两个参数:HSE_VALUE(外部晶振频率)、SystemCoreClock(系统时钟)。这个两个参数在ST提供的库中都有一个参考值,一般的开发板都是按照参考值设计的晶振,所以不用修改。但如果不同,那么就要修改。位置分别在“stm32fxxx.h”和“system_stm32fxxx.c”文件下面,如下图(F4系列为例):

4.时钟树

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

5.MCO时钟输出

验证时钟配置是否正确的方法可以通过MCO输出时钟,用示波器检测一下就知道了。我前面提供的软件工程中有一段代码(如下图),主要就是MCO时钟输出的代码。

Ⅲ、说明

需要深入掌握STM32系统时钟配置的内容,还需要你自己认真阅读以下源代码(建议看一下注释说明)。官方提供的代码从命名上都是很容易理解的。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    ****架构 由上图所示架构,可以推断: 1.电源DC-DC部分可能会有噪声问题; 2.摄像头模块部分可能会有时钟问题; 3.解码芯片部分可能会有解码时钟问题; 4.以太网部分可能会有25MHz......
    机会一点就更好了,这样的话会能适应STM32的编程开发思路。不过帮助不大,这也是我要写“浅谈时钟问题”的原因。而我的情况是,全都学过,但你看清楚,只是学过而已。关于数字电路和模拟电路这种课程,我也......
    );         while(!KEY0);       }     }   } } 延时函数我们下节课讲解,涉及时钟问题。 ......
    些应用中,通过这个技巧可以满足不同的EMC要求。   图3.使用LTC6902等外部时钟发生器模块解决时钟问题 图3显示了图1中采用LTC6902多相振荡器的电源架构。它由5V电压供电。该电压由一个将12V......
    些应用中,通过这个技巧可以满足不同的EMC要求。 3.使用LTC6902等外部时钟发生器模块解决时钟问题   图3显示了图1中采用LTC6902多相振荡器的电源架构。它由5V电压供电。该电压由一个将12V......
    和听音环境的实际限制,从而明显改善音质体验。 借助灵活的音频路由矩阵(FARM),用户可以多路复用多个来源、以各种不同采样速率进出SigmaDSP内核的输入,从而简化音频系统中的信号路由和时钟问题。FARM......
    达克股票代码:SITM)近日宣布推出SiTime Epoch Platform™,旨在颠覆已有100年历史的石英技术,解决电子产品中最复杂的时钟问题。SiTime Epoch Platform是一款基于MEMS......
    CorporaTIon)今天宣布推出创新产品Elite Platform™,其中包含Super-TCXO™(温度补偿型振荡器)和多款振荡器。这些高精度器件可以用来解决电信与网络设备存在已久的时钟问题。即使......
    指令的执行时间都是一个或几个机器周期组成。 例题:单片机采用内部时钟,晶振频率f为6MHz,则: 振荡周期=1/6 MHz=1/6 us 时钟周期=1/3 us 机器周期=2 us 指令周期=机器周期的1......
    绕组导线电流密度,一般可取5—7A/mm2 q—起动绕组导线截面(mm2) 二、计算例题 有一台1400mm的吊扇,已知起动绕组采用Φ0.21mm的导线,试估算电容量。 解:起动绕组导线截面为 q=π/4d2......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>