智能车制作
标题:
看了两个例子 和书上讲的不一样 不知道哪错了 求指教
[打印本页]
作者:
残月ㄨ天堂
时间:
2013-2-27 15:32
标题:
看了两个例子 和书上讲的不一样 不知道哪错了 求指教
void PLL_Init(void)
{
CLKSEL=0x00; //48mhz //Bus Clock=OSCCLK/2
SYNR=0XC0 | 0X05; //xx00 0101 SYNDIV=5
REFDV=0XC0 | 0X03; //yy00 0001 REFDIV=1
//Fvco=2*Fosc*(SYNDIV+1)/(REFDIV+1)=2*16*(5+1)/(1+1)=96MHz
//因为80<Fvco<=120 所以设置VCOFRQ[1:0]=11 (xx变为C)
//Fref=Fosc/(REFDIV+1)=16/(3+1)=4MHz
//因为2<Fref<=6 所以设置REFFRQ[1:0]=01 (yy变为8)
PLLCTL_PLLON=1; //启动IPLL
POSTDIV=0X00; //Fpll=Fvco=96MHz
asm(nop); //短暂延时,等待时钟频率稳定
asm(nop);
while(0==CRGFLG_LOCK); //锁相环锁定 //时钟频率已稳定,锁相环频率锁定
CLKSEL_PLLSEL=1; //选定PLL时钟 //Bus Clock=PLLCLK/2=96MHz/2=48MHz
}
这里的yy变为了C 是不是书上写错了 或者公式错了
目的是不是选定外部时钟 Bus Clock=PLLCLK/2=96MHz/2=48MHz
作者:
残月ㄨ天堂
时间:
2013-2-27 15:37
//yy00 0011 REFDIV=3 下面代入时没错
作者:
残月ㄨ天堂
时间:
2013-2-27 15:54
0100 yy变为4 还是不对
作者:
残月ㄨ天堂
时间:
2013-2-27 15:58
[attach]41220[/attach]
这个好像对的
作者:
qurrer
时间:
2013-2-27 17:29
论坛里有可以参考
作者:
穆旦阿斗
时间:
2013-2-27 18:40
直接根据公式来呀!
作者:
残月ㄨ天堂
时间:
2013-2-28 17:24
穆旦阿斗 发表于 2013-2-27 18:40
直接根据公式来呀!
就是程序中的代码和公式算出来的不一样 所以才不确定
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2