查看: 2108|回复: 3

[其他] DZ60程序不运行!

[复制链接]

该用户从未签到

1

主题

15

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
发表于 2013-7-27 16:32:32 | 显示全部楼层 |阅读模式
void Init(void)
{
/* System init, COP Stop*/
   SOPT1 = 0x10;                // set SCI2 to PORTE; COP stop   
   SOPT2 = 0x00;                // COP 1kHz
/* MCG init */
   MCGC2 = 0x65;                //  BDIV=1,RANGE=1,EREFS=1,RECLKEN=1
   while(!(MCGSC&0x02));        // Wait until the initialization cycles
                                // of the external oscillator are complete
   MCGC1 = 0x80;                // CLKS=0x10,RDIV=0,IREFS=0                     
   while(!(MCGSC&0x80));        // Wait until the external reference
                                // is directed to MCGOUT   
   MCGC2 |= 0x01;               // BLPE mode entered  
   ADCSC1 = 0x1f;
}
void main(void)
{
   i = 0;
   Init();
   while(1)
   {
     PTA |= 0x01;
     Delay_s(1);                  
     PTA &=~ 0x01;
     Delay_s(1);      // 延迟子程序                  
   }       // End while(1)              
}
程序跑不起来!?
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

1

主题

15

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2013-7-27 17:14:15 | 显示全部楼层

RE:DZ60程序不运行!

补充:用外部晶体分频做总线时钟,不用PLL、FLL。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

18

帖子

0

注册会员

Rank: 2

积分
90
最后登录
1970-1-1
发表于 2013-7-30 14:29:52 | 显示全部楼层

RE:DZ60程序不运行!

多少频率的晶体? 程序卡在哪里?
MCGSC_OSCINIT这个位有没有置起来?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

15

帖子

0

新手上路

Rank: 1

积分
19
最后登录
1970-1-1
 楼主| 发表于 2013-8-11 21:20:34 | 显示全部楼层

RE:DZ60程序不运行!

谢谢版主,问题已解决,有一条语句写错了,正确如下:
   SOPT1 = 0xd0;                 // Watchdog Enabled,SCI2 => PTE
   
   MCGC2_BDIV = 1;               // Bus divider         
   MCGC2_RANGE = 1;              // High frequency range selected
   MCGC2_HGO = 1;                // High gain for external oscillator
   MCGC2_EREFS = 1;              // External reference is crystal oscillator  
   MCGC2_ERCLKEN = 1;            // External reference enabled
   
   while(!MCGSC_OSCINIT);        // Wait until the initialization cycles
                                 // of the external oscillator are complete
                                 
   MCGC1_CLKS = 0x02;            // External reference is system clock source
   MCGC1_RDIV = 0x00;            // Configure Reference Divider to div by 128      
   MCGC1_IREFS = 0;              // External reference clock selected
                                      
   while(MCGSC_IREFST);          // Wait until the external reference is
                                 // the source for the reference clock */   
                                 
   while((MCGSC_CLKST)^(0x02));  // Wait until the external reference
                                 // is directed to MCGOUT   
                                      
   MCGC2_LP = 1;                // BLPE mode entered
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-22 07:06 , Processed in 0.089215 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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