novoton-msys_init函数

配置相应时钟后,可以打印输出:

// 配置PLL
sta = CLK_EnablePLL(CLK_PLLCTL_PLLSRC_HXT, 144000000);

/***********************************************************************/

printf("HXT:%d.\n",CLK_GetHXTFreq());
printf("LXT:%d.\n",CLK_GetLXTFreq());
printf("PCLK0:%d.\n",CLK_GetPCLK0Freq());
printf("PCLK1:%d.\n",CLK_GetPCLK1Freq());
printf("HCLK:%d.\n",CLK_GetHCLKFreq());
printf("CPUCLK:%d.\n",CLK_GetCPUFreq());

printf("PLL:%d.\n",sta);

HXT和LXT需使能才有值。

结论:

HXT可以在config区进行使能。所以说进入程序时已经启动。

但PLL只能由用户开启,如果用户不开启,CPUCLK、HCLK、PCLK0、PCLK1的频率只能达到HXT的12M或者是HIRC的22.1184M , PLL = 0;

扫描二维码关注公众号,回复: 952286 查看本文章

开启PLL的频率可以达到250M。(实测开到270M还行,但是272M有时可以启动有时卡死!)

还有一种情况,config没有配置HXT时,进入程序虽然可以起振,但是CPUCLK、HCLK、PCLK0、PCLK1却只能使用HIRC的一半 11.0592M ,PLL正常,但不能用。(但是配置HXT引脚时,一切正常!)

猜你喜欢

转载自www.cnblogs.com/llw2017/p/9063882.html