ycping 发表于 2017-1-11 18:25:36

论坛的小小调度器V2版,是不是存在一个大问题?

本帖最后由 ycping 于 2017-1-11 18:27 编辑

论坛的小小调度器V2版,封装里面使用了结构体。这东西会生成很大的代码量。
这违背了初衷了吧。
里面的例子就做个呼吸灯去掉了800个字节。
我特意和以前的对比了一下。程序就是闪烁一个灯。V1和V2代码分别是85和174. 差了很远啊。


v1 代码
#include<at89x51.h>
#include "schedule.h"

unsigned char SCH_TASK_LC;
volatile unsigned char SCH_timers;

unsigned char Task1(unsigned char lc)
        {
                SCH_BEGIN(lc);
                while(1){
                P0_1 = 1;
                SCH_WaitX(lc,20);
                P0_1 = 0;
                SCH_WaitX(lc,20);
                }
                SCH_END(lc);
        }

void main(void)
{
        while(1)
        {
               UpdateSCH_timers();       
               SCH_RunTask(Task1,SCH_task1);
      
        }
}

Program Size: data=12.0 xdata=0 code=85

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

V2 代码
#include<at89x51.h>
#include "xxdd.h"

Class(ledtask)
{
        C_task task;
}led1;


TaskFun(ledtask)
{
       while(1)
       {
               P0_1 = 1;
               WaitX(20);
               P0_1 = 0;
               WaitX(20);
       }
       
}EndFun



void main()
{
       while(1)
       {
               UpdateTimer(led1);
   
   RunTask(ledtask, led1);
       }
}



Program Size: data=12.0 xdata=0 code=174
页: [1]
查看完整版本: 论坛的小小调度器V2版,是不是存在一个大问题?