goblin 发表于 2007-8-2 17:07:50

读"建立自己的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 发表于 2008-1-2 23:25:32

原程序有问题啊,应该改为
低字节地址先压入栈,再把高字节地址压入栈就可以了

highnose 发表于 2008-1-2 23:28:26

我的感触是:人不能什么都自己干

dingohu 发表于 2008-1-24 15:44:56

wchp314 说的对!!!

我的感触是:人不能什么都自己干
页: [1]
查看完整版本: 读"建立自己的RTOS"后试验中的问题,请高人指教!