读"建立自己的RTOS"后试验中的问题,请高人指教!
我习惯用IAR,可能因此才遇到这个问题吧。还请熟悉IAR高手做下解答!感谢,当然不排斥其他系统的高手哦。---------------------------------------------------------------
unsigned char stack;
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);
}
}
void light(void)
{
PORTC=0x00;
delay_nms(1000);
PORTC=0XFF;
delay_nms(1000);
}
----------------------------------------------------------------------------
问题就是程序不会返回到函数入口运行函数体!!!这个是建立人工堆栈的关键了。还请多多指教啊,,,,,不然我就进行不下去了。。。。。。。。。。。。。盼。。。。。 原程序有问题啊,应该改为
低字节地址先压入栈,再把高字节地址压入栈就可以了 我的感触是:人不能什么都自己干 wchp314 说的对!!!
我的感触是:人不能什么都自己干
页:
[1]