飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?
- UID
- 854290
|
飞思卡尔单片机不连仿真器,直接接上电源,运行结果不正确,这是为什么?
求助:飞思卡尔单片机,我连上仿真器接上电源调试的时候运行结果正确的。但是如果直接连上电源,机器就乱转了。有人知道这是为什么吗?急啊... |
|
|
|
|
|
- UID
- 854290
|
/*************************************************************/
/* 按键中断函数 */
/*************************************************************/
#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(;;)
{
}
} |
|
|
|
|
|
- UID
- 854290
|
把中断函数和主函数放上了。我把中段关闭,整个机子还是一直往前走的。说明应该不是电源问题。
我看了一个别的帖子。说要加上中断响应函数。我不太清楚这个中断响应函数是什么,在哪加。求指教哈...我新手... |
|
|
|
|
|