智能车制作

标题: 在PLL程序中死循环了 [打印本页]

作者: givechance    时间: 2009-4-18 00:26
标题: 在PLL程序中死循环了
在程序中怎么都死住了,应该是在while(CRGFLG_LOCK!=1);这里没办法跳过,大家有遇见同样的问题么?


REFDV=0x03;//Divide OSCCLK by REFDV+1=4,REFCLK=16M
SYNR=0x09;//Multiply by SYNR+1=10,PLLCLK=2*16M*10/4=80M
while(CRGFLG_LOCK!=1);//Wait Till VCO Run Stable
CLKSEL_PLLSEL=0x01;//PLLCLK Enabled,Bus Clock=PLLCLK/2=40M      //////////////////////////
FCLKDIV=0x0F;//Flash Clock Divide Factor 16M/16=1M
作者: whut_wj    时间: 2009-4-18 15:13
本帖最后由 whut_wj 于 2009-4-18 15:14 编辑

while(CRGFLG_LOCK!=1);
这个是时钟倍频之后等待时钟同步,是PLL提供总线时钟的保证。
这句话通不过就明倍频没成功
对于老单核单片机来说,特别是DT系更的,40M倍频有些问题。

检查DG128的晶振及倍频外围配置,要么重新制板。

你的这个情况应该是出现在DG128里的,XS128的倍频外围配置简单。
作者: givechance    时间: 2009-4-20 21:42
2# whut_wj


谢啦~~




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2