|
我习惯用IAR,可能因此才遇到这个问题吧。还请熟悉IAR高手做下解答!感谢,当然不排斥其他系统的高手哦。
---------------------------------------------------------------
unsigned char stack[100];
void runstack(void (*pfun)(),unsigned char *pstack)
{
SPH=(unsigned int)pfun>>8;
SPL=(unsigned int)pfun;
//SP=*pstack;
asm("RET
\t");
}
void light(void);
void main(void)
{
mcu_init(); //CAN管理器初始化
while(1)
{
runstack(light,&stack[99]);
}
}
void light(void)
{
PORTC=0x00;
delay_nms(1000);
PORTC=0XFF;
delay_nms(1000);
}
----------------------------------------------------------------------------
问题就是程序不会返回到函数入口运行函数体!!!这个是建立人工堆栈的关键了。还请多多指教啊,,,,,不然我就进行不下去了。。。。。。。。。。。。。盼。。。。。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|