针对系统时钟的计算和设置,意法提供了非常便捷的计算工具,请参考以下链接:
http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1533/PF257927?s_searchtype=keyword
该工具软件是用excel宏来实现,操作界面如下:
利用标注,利用下图对其使用做了说明:
当然,对一些其他选项进行选择,如Prefetch Buffer.
然后根据运行结果来修改system_stm32f4xx.c中的如下宏定义:
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 25
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 2
/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */
#define PLL_Q 7
并修改
FLASH->ACR = FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;
中的FLASH_ACR_LATENCY_5WS为运行结果中的Flash Wait state值。
当然,也可以将上述Generate后产生的system_stm32f4xx.c替换掉意法STM32F4xx库中的相应文件。