main()函数中依此执行如下PLL设置命令: DisableInterrupts ; CLKSEL &= 0x7f;//set OSCCLK as sysclk PLLCTL =PLLCTL&0x8F;//Disable PLL circuit CRGINT &= 0xDF; SYNR=3; //PLLCLK=2*16M*(1+SYNR)/(1+REFDV) REFDV=3; PLLCTL |= 0x70;//Enable PLL circuit while(!(CRGFLG&0x08)); //PLLCLK is Locked already? CLKSEL |= 0x80;//set PLLCLK as sysclk 硬件上已经将Vregen上拉,因此VDDPLL使用内部2.5V供电(已测电压正常),外接电容阻分别为0.47nF,4.7K,5nF(稳定度28ppm,抑制1.21),分频值SYNR=3,REFDV=3,外接16M晶振(22pf),并将PE7上拉。 现在情况是 while(!(CRGFLG&0x08)); //PLLCLK is Locked already? 无法跳出,即LOCK始终为0,不能正常锁住该倍频时钟。 有接触这方面的XDJM帮忙指点问题出在什么地方。
[此贴子已经被作者于2009-8-12 17:01:00编辑过] |