对于STM32F4,输入时钟源主要包括HSI,HSE,LSI,LSE。其中,从时钟频率来分可以分为高速时钟源和低速时钟源,其中HSI、HSE高速时钟,LSI和LSE是低速时钟,从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获取,锁相环有两种可选择的输入源:一个是内部时钟HSI信号,另一个是外部时钟HSE信号。
图中所表示的配置锁相环倍频系数,可以查到在STM32F4系列中,ST设置它的有效倍频范围为192432倍。要实现168MHz的主频率,我们通过选择HSE分频作为PLL输入的时钟信号,输入8Mhz,8分频,即1MHz,通过标号选择倍频因子,我们选择336倍频,这样可以得到时钟信号为1*336=336MHz,然后经过2分频,得到168MHz。
1、 stm32 系统 时钟systick
图中很清楚,没毛病。Systic 时钟从72M8到9MHz分频(为什么要8分频?因为systic最大支持9MHz,所以这个8分频是最小的,你也可以大于8,但是下面的参数要改变才能有同样的效果),然后把systic的计数器设置为9000,这样9000 * (1/Hz)就是0.001秒,这样就实现了1ms的计时。
2、 stm32 系统 时钟最大多少
stm32F1系列,最高频率72Mhz。可以超频,但是不一定能稳定可靠的工作。比如你用8M晶振配置,可以直接改成10M晶振频率,自然高于72Mhz。另外,APB1的分频要小于等于36MHz,如果要用usb,必须是48或者72。
3、 stm32 系统 时钟的配置
errorstatushsessartupstatus;/* RCCsystemreset(fordebugpurpose)*/RCC _ DeInit();/* enable HSE */RCC _ HSEConfig(RCC _ HSE _ ON);/* waittillhseiready */hsestartupstasurcc _ WaitForHSEStartUp();if(hsestartupstatsuccess){/* EnablePrefetchBuffer */FLASH _ PrefetchBufferCmd(FLASH _ PrefetchBuffer _ Enable);/* FLASH 2 waitstate */FLASH _ set Latency(FLASH _ Latency _ 2);/* HCLKSYSCLK */RCC _ HCLKConfig(RCC _ SYSCLK _ div 1);/* PCL k2 HCLK */RCC _ PCL k2 config(RCC _ HCLK _ div 1);/*PCLK1HCLK/2*/RCC_PCLK1C 。