1STM32时钟总结一、时钟基本概念.........................................2二、时钟树...............................................7三、STM32上电后时钟的过程...............................73.1执行SystemInit()函数.........................73.2执行SetSysClock()函数..........................83.3执行SetSysClockTo72()函数....................83.3.2判断外部高速时钟源是否稳定.................83.3.4FLASH配置..................................93.3.5系统时钟配置是HCLK,PCLK2为HCLK,PCLK1为HCLK的一半.............................................93.3.6配置PLL在这里修改倍频值。RCC_CFGR_PLLMULL993.3.7失能PLL;判断PLL是否Readay;选择PLL为系统时钟,一直等到时钟稳定...............................9四、时钟源的选择........................................104.1系统默认配置时钟8*9=72M.......................104.2配置HSI(高速内部时钟)为系统主时钟(永远不变8M)104.3配置HSE为系统主时钟。8M(和外部晶振有关)....114.4配置PLLCLK为系统主时钟........................114.5程序..........................................11五、配置HCLK,PCLK1,PCLK2...............................112一、时钟基本概念LSE时钟RCC_BDCR(备份与寄存器控制)32.768kHz的低速外部晶体或陶瓷谐振器外部时钟源(LSE旁路)必须提高一个32.768kHz频率的外部时钟源,设置(RCC_(RCC_BDCR)里的LSEB和LSEON位来选择这个模式)LSI低功耗时钟源的角色,它可以在停机和待机模式下保持运行.为独立看门狗和自动唤醒单元提供时钟LSIRC可以通过控制/状态寄存器(RCC_CSR)里的LSION位来启动或关闭。LSI校准HSE时钟高速外部时钟信号(HSE)由以下两种时钟源产生:HSE外部晶体/陶瓷谐振器HSE用户外部时钟.外部时钟源(HSE旁路)在这个模式里,必须提供外部时钟。它的频率最高可达25MHz。用户可通过设置在时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式。外部晶体/陶瓷谐振器(HSE晶体);4~16Mz外部振荡器可为系统提供更为精确的主时钟在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定。在启动时,直到这一位被硬件置’1’,时钟才被释放出来。如果在时钟中断寄存器RCC_CIR中允许产生中断,将会产生相应中断。系统时钟(SYSCLK)选择系统复位后,HSI振荡器被选为系统时只有当目标时钟源准备就绪了(经过启动3钟。当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止。稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟源就绪,才发生切换。时钟安全系统(CSS)时钟安全系统可以通过软件被激活。一旦其被激活,时钟监测器将在HSE振荡器启动延迟后被使能,并在HSE时钟关闭后关闭。如果HSE时钟发生故障,HSE振荡器被自动关闭,时钟失效事件将被送到高级定时器TIM1的刹车输入端,并产生时钟安全中断CSSI,允许软件完成营救操作。此CSSI中断连接到Cortex?M3的NMI中断。一旦CSS被激活,并且HSE时钟出现故障,CSS中断就产生,并且NMI也自动产生。NMI将被不断执行,直到CSS中断挂起位被清除。因此,在NMI的处理程序中必须通过设置时钟中断寄存器(RCC_CIR)里的CSSC位来清除CSS中断。如果HSE振荡器被直间或间接地作为系统时钟,(间接的意思是:它被作为PLL输入时钟,并且PLL时钟被作为系统时钟),时钟故障将导致系统时钟自动切换到HSI振荡器,同时外部HSE振荡器被关闭。在时钟失效时,如果HSE振荡器时钟(被分频或未被分频)是用作系统时钟的PLL的输入时钟,PLL也将被关闭。RTC时钟RTCCLK时钟源可以由HSE/128、LSE或LSI时钟提供。除非备份域复位,此选择不能被改除非备份域复位,此选择不能被改变。4变。看门狗时钟如果独立看门狗已经由硬件选项或软件启动,LSI振荡器将被强制在打开状态,并且不能被关闭。在LSI振荡器稳定后,时钟供应给IWDG。时钟输出微控制器允许输出时钟信号到外部MCO管脚。相应的GPIO端口寄存器必须被配置为相应功能四个时钟信号可被选作MCO时钟:SYSCLK...