首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?

飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?

求助:飞思卡尔单片机,我连上仿真器接上电源调试的时候运行结果正确的。但是如果直接连上电源,机器就乱转了。有人知道这是为什么吗?急啊...
/*************************************************************/
/*                    按键中断函数                           */
/*************************************************************/
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 25 PTH_inter(void)  
{
      PIEH=0X00;
      if(PIFH_PIFH0==1||PIFH_PIFH1==1)  
      {
        if(PTIH_PTIH2==0 && PTIH_PTIH3==1)  
        {
          turnright_pwm();
          decide = 1;
        }  
        else if(PTIH_PTIH2==1 && PTIH_PTIH3==0)
        {
          turnleft_pwm();
          decide = 2;
        }  
        else
        {
          if(decide == 1)
          {
            turnleft_pwm();
            decide = 0;
          }  
          else
          {
            turnright_pwm();
            decide = 0;
          }
        }     
      }
      if(PIFH_PIFH4==1){
        leftadjust_pwm();  
      }
      if(PIFH_PIFH5==1){
        rightadjust_pwm();  
      }
        
      PIFH = 0XFF;  //清除中断标志
      PIEH=0XFF;
}
#pragma CODE_SEG DEFAULT


void main(void) {   
  DisableInterrupts;  
  INIT_PLL();
  init_pwm();
  init_sound();
  init_key();
  LEDCPU_dir=1;
  LEDCPU=0;

// PIFH = 0xff;
  PWME_PWME1 = 0;
  PWME_PWME5 = 0;
  PWME_PWME3 = 0;
  PWME_PWME7 = 0;
  /*do{
  }while(SOUND==1);
  delay(450);
  do{
  }while(SOUND==1);
  delay(450);
  do{
  }while(SOUND==1);  
    */
  PWME_PWME1 = 1;    //使能通道01
  PWME_PWME3 = 1;    //使能通道23
  EnableInterrupts;
   
  for(;;)  
  {
   
  }  
}
把中断函数和主函数放上了。我把中段关闭,整个机子还是一直往前走的。说明应该不是电源问题。
我看了一个别的帖子。说要加上中断响应函数。我不太清楚这个中断响应函数是什么,在哪加。求指教哈...我新手...
返回列表