开发板是外接的30M晶振,书上说,如果使用PLL的话先倍频10倍,变成300M然后进行2分频成为150M.
这个时候如果在程序里面不进行分频直接300M进去后,
把这句话
EALLOW;
SysCtrlRegs.PLLSTS.bit.DIVSEL=3; //不分频
EDIS;
写进main函数里面for(;;)外面
当程序执行这条语句后,CCS界面会出问题。
然后看PLLSTS这个寄存器的7-8位对分频的说明,DIVSEL 00 ,01时为4分频,10时为2分频(也是通常选择的分频系数)两位为11时,CLKIN不分频,这时有个条件,就是只有PLL关闭或者旁路的时候才能使用不分频的功能。
关闭自然很好说,就是不用PLL倍频,直接30M进去,那么这时DIVSEL你可以随意选择。最低频率就是30M/4=7.5M.
旁路的话就不好说,因为一边是30M的倍频时钟,一边是30的时钟,这时就可以使用输入时钟不分频,DIVSEL中可以随意设定。
|