STM32必学的时钟系统】的更多相关文章

STM32的时钟系统 相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图:   上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟.需要注意的是,上图左侧一共有四个时钟源,从上到下依次是: 高速内部时钟(HSI):以内部RC振荡器产生,频率为8Mhz,但相较于外部时钟不稳定. 高速内部时钟(HSE):以外部晶振作为时钟源,晶振频率可取范围为4~16Mhz,一般采用8Mhz的晶振. 低速外部时钟(LSE): 以外部晶振作为时钟源,主要是提供给实时时钟模块…
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz.一般接8MHZ. ③LSI是低速内部时钟,RC振荡器,频率为40kHz. ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体. ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2.HSE或者HSE/2.倍频可选择为2~16倍,但是其输出频率最大不得超过72…
地点:南图 这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要. 为了便于理解这一系统,将从以下几个层次来讲.(忘了是在哪儿看到的这么一句话,当你能对某人解释清楚某一部分知识,那么说明你已经完全掌握了它) . 1.第一个层次:硬件 STM32的时钟源 可以有以下5个来源: (1)HSI高速的内部时钟 8M的RC震荡时钟,相对于晶体振荡器精确度差些,因此在需要精确频率或定时的应用时,应选用HSE作为系统时钟.这个是在…
初学STM32,感觉最蛋疼的是它的时钟系统,每次看到它的那个时钟树就有点晕,虽然看了很多这方面的资料,甚至也已经写过很多STM32的模块代码,做过一些小项目,但一直还是对这一块模模糊糊,似懂非懂,所以想把自己对它的一点点认识写出来,一步一步,直到完全搞通的那一天,(这些内容并非自己原创,只是想帮助自己理解) 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. HSI是高速内部时钟,RC振荡器,频率为8MHz. HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频…
时钟系统是处理器的核心,所以认真学习时钟系统是必要的,有助于深入理解STM32. 由于STM32的外设很多,有的外设不需要太高的时钟频率,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也越弱,所以对于较为复杂的MCU一般都是采取多时钟源的方法来解决这些问题. 一.STM32时钟源 在STM32中共有五个时钟源,为HSI.HSE.LSI.LSE.PLL 按时钟频率来分:高速时钟源和低速时钟源    高速时钟源:HSI.HSE.PLL    低速时钟源:LSI.LSE 按来源可分为外部时钟源(外接…
时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是所有外设都使用同一时钟频率工作,比如内部看门狗和RTC,它只需30KHz的时钟频率即可工作,所以内部时钟源就有多种选择.在前面章节的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,将STM32F1系统时钟设置为72MHz,然后进入主函数.那么这个系统时钟大小如何得…
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下: void SystemInit (void){/* Reset the RCC clock configuration to the default res…
一.综述: 1.时钟源 在 STM32 中,一共有 5 个时钟源,分别是 HSI . HSE . LSI . LSE . PLL . ①HSI 是高速内部时钟, RC 振荡器,频率为 8MHz : ②HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz : ③LSI 是低速内部时钟, RC 振荡器,频率为 40KHz : ④LSE 是低速外部时钟,接频率为 32.768KHz 的石英晶体: ⑤PLL 为锁相环倍频输出,严格的来说并不算一个独立的…
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下: void SystemInit (void) { /* Reset the RCC clock configuration to the default r…
本篇文章带着大家来认识一下 STM32 的时钟系统,以及利用 systick 定时器来实现一个比较准确的延时. 我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺.STM32 的时钟相比 51 的单一时钟要复杂些,它有多个时钟源可以使用,那么大家可能会有所疑惑,STM32 的时钟搞的那么复杂干什么,原因其实在于,STM32的外设资源比起51来说,是很丰富的,那么不同外设使用的时钟也会不一样,同时我们要知道时钟越快,功耗就越大,抗电磁干扰的能力就会减弱,因此,比较复杂的MCU…