7811的系统时钟默认为96M,7801的系统时钟默认为48M。对于有些应用场景,可能需要自定义系统时钟,这时候就需要理解怎么去配置这个时钟。
比较快的方式,就是对照参考手册的相关说明以及驱动库的配置。下面介绍一下7811及7801的配置(以8M外部晶振为例):
一、7811的系统时钟配置
参考手册的介绍如图:
驱动库默认的配置参数:
配置系统时钟的函数:
由参考手册中的公式可得:
VCO = (USE_XTAL * PLL_FBKDIV) / PLL_PREDIV = (8M*96)/1 = 768M;
SYSCLK_FREQ = VCO / PLL_POSDIV/2/PLL_CLK_DIV / SYSCLK_DIV = 768M/4/2/1/1 = 96M;
(注:PLL_CLK_DIV驱动中没做修改,为默认值,1分频)
二、7811的系统时钟配置
参考手册的介绍如图:
驱动库默认的配置参数:
配置系统时钟的函数:
由参考手册中的公式可得:
VCO = (USE_XTAL * PLL_FBKDIV) / PLL_PREDIV = (8M*96)/1 = 768M;
SYSCLK_FREQ = VCO / PLL_POSDIV/SYSCLK_DIV = 768M/16/1 = 48M;
对于不用更换系统时钟的场景,则跑默认时钟就可以了。不需要在初始化程序里面加上系统时钟初始化这部分代码,用起来比其他平台要方便多了。
|