论坛的小小调度器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]