guozilao 发表于 2011-9-14 15:21:48

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

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

guozilao 发表于 2011-9-14 15:22:20

/*************************************************************/
/*                  按键中断函数                           */
/*************************************************************/
#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:23:29

把中断函数和主函数放上了。我把中段关闭,整个机子还是一直往前走的。说明应该不是电源问题。

guozilao 发表于 2011-9-14 15:25:05

我看了一个别的帖子。说要加上中断响应函数。我不太清楚这个中断响应函数是什么,在哪加。求指教哈...我新手...

guozilao 发表于 2011-9-14 15:29:03

求高手...真心求解

guozilao 发表于 2011-9-14 16:03:20

求大神 T T

guozilao 发表于 2011-9-14 17:06:18

自己顶...

xiaoyaxi 发表于 2011-10-31 11:21:30

新手 同求解!
页: [1]
查看完整版本: 飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?