Board logo

标题: 飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么? [打印本页]

作者: guozilao    时间: 2011-9-14 15:38     标题: 飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?

求助:飞思卡尔单片机,我连上仿真器接上电源调试的时候运行结果正确的。但是如果直接连上电源,机器就乱转了。有人知道这是为什么吗?急啊...
作者: guozilao    时间: 2011-9-14 15:39

/*************************************************************/
/*                    按键中断函数                           */
/*************************************************************/
#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(;;)  
  {
   
  }  
}
作者: guozilao    时间: 2011-9-14 15:40

把中断函数和主函数放上了。我把中段关闭,整个机子还是一直往前走的。说明应该不是电源问题。
我看了一个别的帖子。说要加上中断响应函数。我不太清楚这个中断响应函数是什么,在哪加。求指教哈...我新手...




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0