智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2984|回复: 1
打印 上一主题 下一主题

[编程类] 仿真没问题,用BDM调试却没反应。硬件没问题!

[复制链接]

0

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
386
威望
266
贡献
72
兑换币
50
注册时间
2009-2-16
在线时间
24 小时
跳转到指定楼层
1#
发表于 2009-2-19 12:55:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
哪位帮我看看?
#include <hidef.h>      
#include <mc9s12dg128.h>     
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
const int led[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};  //0 1 2 3 4 5 6 7 8 9
int i=0,j=0;

void SET_PLL(void)
{
  PLLCTL=46;   /* 锁相环电路开,禁止看门狗*/
  SYNR=2;
  REFDV=5;     /*PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1)总线频率8MHz*/
  while((CRGFLG&0x08)==0x00);
  
    CLKSEL=0x80;  //总线时钟=PLLCLK/2   8M
                                                        
}

void main(void)
{EnableInterrupts;
  SET_PLL();   /*设置锁相环*/
  TSCR1=0x80;  /*主定时器使能*/


  MCCNT=0xc350;                       
  MCCTL=0xcc;  //模数计数器溢出中断开,允许模数模式,预分频为1  8M
  DDRA=0xff;
  
  PORTA=0x00;

  for(;;)                    
  {}  
}



#pragma CODE_SEG NON_BANKED
void interrupt 26 time_int(void)  //中断服务程序
{ DisableInterrupts;//关中断
  MCFLG=0x80;
  j++;
   if(j==160)
   {
   j=0;
  PORTA=led[i];
  i++;
  if(i>=9)
    i=0;

   }
   EnableInterrupts;
}

0

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
386
威望
266
贡献
72
兑换币
50
注册时间
2009-2-16
在线时间
24 小时
2#
 楼主| 发表于 2009-2-19 13:17:44 | 只看该作者
我发现屏蔽PLLCTL=46; 它的话就好了!
是因为实时中断和看门狗的原因吗?
我试着分开控制实时中断和看门狗,可还是没能看出问题。请问锁相环电路默认状态是允许还是怎样的?
谢谢啦!
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 17:48 , Processed in 0.048648 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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