查看: 5055|回复: 2

[已解决] 关于while(!(CRGFLG_LOCK==1))的问题,新手求救!(已解决)

[复制链接]

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
发表于 2013-10-18 11:45:57 | 显示全部楼层 |阅读模式
各位大侠,我用的MC9S12XS64的片子,现在在调试,PLL在初始化过程中,程序运行到while(!(CRGFLG_LOCK==1))就一直停留在这里,不往下走了,晶振起振了的,起振VPP为600mv,选用的8M晶振,总线时钟设置为32MHz,以下是的我程序代码:
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)
}
 
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

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

RE:关于while(!(CRGFLG_LOCK==1))的问题,新手求救!

求助帖啊,哪位大侠帮俺解决问题了,以后有分了,有多少送多少!
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

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

RE:关于while(!(CRGFLG_LOCK==1))的问题,新手求救!

嗯,已经在你的另外的一个帖子中进行了回复,请自行查看一下,谢谢你对飞思卡尔产品的支持.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-8-6 07:51 , Processed in 0.089935 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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