查看: 3544|回复: 6

[S12] MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助(已解决)

[复制链接]

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
发表于 2013-10-18 12:55:02 | 显示全部楼层 |阅读模式
请教各位大侠,我编写的程序,初始化PLL中,程序运行到while(!(CRGFLG_LOCK==1))就不再往下走了,请问是什么情况,该怎么办?是否有遇到类似问题的大侠,速来解救小弟啊!晶振为8M晶振,总线时钟频率希望是32M,我的程序代码如下:
void INIT_PLL(void)
{
    CLKSEL_PLLSEL=0;          //设置晶振为系统时钟
    PLLCTL_PLLON=0;           //禁止锁相环
    //CRGINT &= 0xDF;         //LOCKIF置1时将产生中断请求
   
    #if(BUS_CLOCK == 40000000)
      SYNR = 0x44;
    #elif(BUS_CLOCK == 32000000)
      SYNR = 0x43;    
    #elif(BUS_CLOCK == 24000000)
      SYNR = 0x42;
    #elif(BUS_CLOCK == 16000000)
      SYNR = 0x41;
    #endif
    REFDV = 0x80;             //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)=32MHz
    POSTDIV=0x00;
    PLLCTL_PLLON=1;           //使能锁相环
    asm NOP;
    asm NOP;
    while(!(CRGFLG_LOCK==1));    //LOCK读取为'1'表示VCOCLK频率和目标频率的误差已在允许范围内
    asm NOP;
    CLKSEL |= 0x80;               //系统时钟由PLLCLK分频(fbus=fpll/2=32MHz)
}
 
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
 楼主| 发表于 2013-10-18 13:23:35 | 显示全部楼层

RE:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!

求解答,求解答!
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-10-18 14:55:54 | 显示全部楼层

回复:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!

 请你参考下面的文档关于如何配置S12XS64 PLL。
如何对PLL编程.pdf (153.05 KB, 下载次数: 33)
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
 楼主| 发表于 2013-10-18 15:19:49 | 显示全部楼层

回复:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!

回复第 3 楼 于2013-10-18 14:55:54发表:
 请你参考下面的文档关于如何配置S12XS64 PLL。

另外请测量一下8MHz晶振是否工作正常。
 终于有人理我了,我测了的,晶振工作正常,配置也没什么问题,就是一直停留在while(!(CRGFLG_LOCK==1)),我理解是检测到晶振不稳定,但是检测晶振工作正常,而且算出来也是8M,不知道还有其他什么问题没有,不知道怎么办啊!
 
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
 楼主| 发表于 2013-10-18 15:30:54 | 显示全部楼层

回复:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!

回复第 3 楼 于2013-10-18 14:55:54发表:
 请你参考下面的文档关于如何配置S12XS64 PLL。

另外请测量一下8MHz晶振是否工作正常。
 还有,测得晶振VPP为600mv,这个正常么?
 
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
 楼主| 发表于 2013-10-18 16:57:24 | 显示全部楼层

RE:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!(正解)

额。。。已经解决,晶振没焊好!
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-10-18 17:09:26 | 显示全部楼层

RE:MC9S12XS64 关于while(!(CRGFLG_LOCK==1))语句不继续往下执行的求助!

哈哈,是呀.都说是晶振的问题了.解决了就好.感谢对飞思卡尔产品的支持.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-9 21:04 , Processed in 0.098581 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表