TI中文支持网
TI专业的中文技术问题搜集分享网站

28379D 程序进入ILLEGAL ISR

如下两个函数:第二行的语句跑起来没有问题,但是只要加上第一句就会跑进ILLEGAL ISR里面去,怎么回事?

// statemachine.timer(&statemachine);//illegal
pro.timer1(&pro);

Linda:您好!
请问第一句的函数里具体执行了哪些操作?

如下两个函数:第二行的语句跑起来没有问题,但是只要加上第一句就会跑进ILLEGAL ISR里面去,怎么回事?

// statemachine.timer(&statemachine);//illegal
pro.timer1(&pro);

user4525004:

回复 Linda:

函数体如下:

void StateMachineTimer(STATEMACHINE_DATA *p){ if(p->SM_Timer<0xfffffff0) p->SM_Timer++; if(p->Vdc>50) { if(p->MainRlyOnTimer<60000) p->MainRlyOnTimer++; else p->MainRlyOnTimer=0; p->MainRlyOffTimer=0; } else { if(p->MainRlyOffTimer<60000) p->MainRlyOffTimer++; else p->MainRlyOffTimer=0; p->MainRlyOnTimer=0; }

}

如下两个函数:第二行的语句跑起来没有问题,但是只要加上第一句就会跑进ILLEGAL ISR里面去,怎么回事?

// statemachine.timer(&statemachine);//illegal
pro.timer1(&pro);

Linda:

回复 user4525004:

您好!
建议看一下Flash wait states相关寄存器的设置是否有低于数据手册规定的最小值。
另外建议到以下网址下载最新的编译器再试试看:
processors.wiki.ti.com/…/Compiler_Releases

赞(0)
未经允许不得转载:TI中文支持网 » 28379D 程序进入ILLEGAL ISR
分享到: 更多 (0)