h5免费模板网站,淘宝作图在哪个网站上做图,wordpress 加入字体库,net网站开发手机网站本人之前其实也用STM32做过一些小东西#xff0c;但因为时钟的初始化一般是直接在SystemInit时钟系统初始化函数里直接配置为72MHz#xff0c;所以对于STM32的时钟框图并没有怎么理会#xff0c;今天刚好有空就重新看了一下并写一篇博客记录一下吧#xff0c;以免以后又忘了…本人之前其实也用STM32做过一些小东西但因为时钟的初始化一般是直接在SystemInit时钟系统初始化函数里直接配置为72MHz所以对于STM32的时钟框图并没有怎么理会今天刚好有空就重新看了一下并写一篇博客记录一下吧以免以后又忘了。 STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。 ①、HSI(High Speed Internal Clock signal)是高速内部时钟RC振荡器频率为8MHz精度不高受温度影响。 ②、HSE(High Speed External Clock signal)是高速外部时钟为外接晶振提供的时钟晶振频率范围为4MHz~16MHz常用8MHz的外部晶振。 ③、LSI(Low Speed Internal Clock signal)是低速内部时钟RC振荡器频率为40kHz可配置为RTC的时钟来源但RTC时钟对时钟精度要求较高故较少用于RTC常用于独立看门狗时钟。 ④、LSE是低速外部时钟接频率为32.768kHz的外部晶振用于RTC时钟。 ⑤、PLL为锁相环倍频输出其时钟输入源可选择为HSI/2、HSE或者HSE/2。 倍频可选择为2~16倍但是其输出频率最大不得超过72MHz。我们常用8M的外部晶振的9倍频即72MHz作为系统时钟SYSCLK。
如图 红框1中的OSC_OUT和OSC_IN接外部8M晶振范围为4到16MHz作为HSE外部高速时钟通过PLLXTPRE位可控制选择器②是输出HSE还是HSE/2选择器①通过PLLSRC位控制用来选择是HSI/2还是选择器②的输出作为倍频锁相环PLLMUL控制倍频的倍数的输入我们一般都是系统默认配置为8Mhz的HSE作为倍频器的输入并选择9倍频产生72MHz的时钟PLLCLK作为系统时钟SYSCLK系统时钟经AHB预分频器默认分频系数为1得到HCLK,可作为部分外设的时钟如SDIO,FSMC等再经APB1APB2预分频器可得到PCLK1、PCLK2。
PCLK1APB1低速总线时钟最高为36M。为APB1总线时钟的外设提供时钟。但又经过2倍频作为定时器2~7的时钟所以定时器2~7即使是在APB1下也为72M的时钟。
PCLK2APB2高速总线时钟最高为72M。为APB2总线时钟的外设包含定时器1和8提供时钟。
PCLK2经ADC预分频器/2,4,6,8作为ADCCLK最大为14M我们常选择6分频72/612M 上图看看到挂载在APB12下的外设
红框2表示RTC的时钟来源为①HSE/128;②LSE;③LSI。我们通常选择LSE频率为32.768KHz的外部晶振而LSI精度较低并不太适合RTC时钟而常作为独立看门狗的时钟。 红框3表示STM32可以选择一个时钟信号输出到MCO脚(PA8)上可以选择为PLL 输出的2分频、HSI、HSE、或者系统时钟。 上面还漏了一点关于CSSCSS为时钟安全系统在STM32参考手册6.2.7小节有提到开发者可以通过CSS中断设置HSE故障后的系统时钟比如HSI/24MHz的16倍频如果开发者未开启CSS中断或者在中断中没有进行相应 配置则硬件默认使用HSI8MHz作为系统时钟。 另外关于如何配置以上所讲的时钟可以看STM32参考手册6.3小节RCC寄存器描述。