查看: 2977|回复: 0

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

[复制链接]

该用户从未签到

7

主题

17

帖子

0

新手上路

Rank: 1

积分
45
最后登录
1970-1-1
发表于 2013-10-18 11:52:05 | 显示全部楼层 |阅读模式
关于while(!(CRGFLG_LOCK==1))的问题,新手求救!
                        
            各位大侠,我用的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)
            }
             
            
            
            
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-20 05:29 , Processed in 0.076784 second(s), 19 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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