智能车制作
标题:
PLL_Init和SetBusCLK函数都是用来干嘛的??
[打印本页]
作者:
yayay2010
时间:
2012-4-18 15:26
标题:
PLL_Init和SetBusCLK函数都是用来干嘛的??
void PLL_Init(void) //PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)
{
//锁相环时钟=2*16*(2+1)/(1+1)=48MHz
REFDV=1;
//总线时钟=48/2=24MHz
SYNR=2;
while(!(CRGFLG&0x08));
CLKSEL=0x80;
}
==========================================
void SetBusCLK_40M(void)
{
CLKSEL=0X00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR =0xc0 | 0x04;
REFDV=0xc0 | 0x01;
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=80MHz;
_asm(nop); //BUS CLOCK=40M
_asm(nop);
while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
CLKSEL_PLLSEL =1; //engage PLL to system;
}
在一本电机控制的书里看到“锁相环测速方法”,锁相环是不是只是提高它自己的频率,与主程序频率无关?
还有就是线面的这个程序是不是用来提高主程序频率的?也就是说代码每执行一行需要多少时间就是靠它来决定的?
作者:
树叶
时间:
2012-5-5 12:47
锁相环时钟=2*16*(2+1)/(1+1)=48MHz
这里是这样的吗???
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2