首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]XD256时钟信号问题求助

我碰到过和你差不多情况问题,我是如下方法解决,你可以试试:
1.上电后,用for做几十毫秒的延时,等待晶振稳定(此条不一定有效,但不防加上)
2.在主循环中加入如下查询:
if (!CRGFLG_LOCK)
{
CLKSEL_PLLSEL = 0;
}
else
{
CLKSEL_PLLSEL = 1;
}
你说你无法跳出while(!CRGFLG_LOCK) ; 死循环,我想不至于,如果是,先确认PLL配置是否有问题。可参如下:
void SetBusCLK_40M(void)
{
CLKSEL=0X00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR=9;
REFDV=3; //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;
}
返回列表