请求高人帮忙解读C程序,一个据说很简单的HELLOWORLD。请尽量详细,最好每一行都注释哦~先谢啦~

[复制链接]
查看11 | 回复1 | 2011-5-16 10:45:24 | 显示全部楼层 |阅读模式
/*是EOS的作业O(∩_∩)O哈!*/
#include\"includes.h\"
#defineTASK_STK_SIZE512
OS_STK        Task_1_stk[TASK_STK_SIZE];
voidTask(void*data);
voidmain(void)
{
        PC_DispClrScr(DISP_FGND_WHITEDISP_BGND_BLACK);
        OSInit();
        PC_DOSSaveReturn();
        PC_VectSet(uCOS,OSCtxSw);
        OSTaskCreate(Task,(void*)0,
        OSStart();
}
voidTask(void*pdata)
{
        INT8U        x=1;
        INT8U        y=1;
        INT8U        judge;
        INT8U        err;
        INT16S        key;
        OS_ENTER_CRITICAL();
        PC_VectSet(0x08,OSTickISR);
        PC_SetTickRate(OS_TICKS_PER_SEC);
        OS_EXIT_CRITICAL();
        for(;;){
                PC_DispClrScr(DISP_FGND_WHITEDISP_BGND_BLACK);
                PC_DispStr(x,y,\"helloworld!!\",DISP_FGND_WHITEDISP_BGND_REDDISP_BLINK);
                x=(x1)%(80-12);
                y=(y1)%(25-1);
                if(PC_GetKey(
                        }
                }
                OSCtxSwCtr=0;
                OSTimeDlyHMSM(0,0,0,350);
        }
}
回复

使用道具 举报

千问 | 2011-5-16 10:45:24 | 显示全部楼层
!l路过,挑战了一下想象力!
估计这是一个嵌入式多任务操作系统的程序
以上代码大部分调用操作系统的函数(可能在includes.h中声明)
例如:PC_DispClrScr()清屏(字面理解)
OSInit()预置操作系统(字面理解)
PC_VectSet()设置指针(字面理解)
OSTaskCreate()创建任务(字面理解)
.....
没有这些函数的具体语法和参数说明,是很难靠想象为你解释每一句的实际意义。

#include\"includes.h\"
#defineTASK_STK_SIZE512
OS_STK        Task_1_stk[TASK_STK_SIZE];
voidTask(void*data);
voidmain(void)
{
        PC_DispClrScr(DISP_FGND_WHITEDISP_BGND_BLACK);//清屏
        OSInit();                                        //预置系统
        PC_DOSSaveReturn();
        PC_VectSet(uCOS,OSCtxSw);                        //设置指针
        OSTaskCreate(Task,(void*)0,//创建任务
        OSStart();                                        //系统运作
}
voidTask(void*pdata)
{
        INT8U        x=1;
        INT8U        y=1;
        INT8U        judge;
        INT8U        err;
        INT16S        key;
        OS_ENTER_CRITICAL();                        //
        PC_VectSet(0x08,OSTickISR);                //设置指针
        PC_SetTickRate(OS_TICKS_PER_SEC);        //设置速率
        OS_EXIT_CRITICAL();                        //
        for(;;){
                PC_DispClrScr(DISP_FGND_WHITEDISP_BGND_BLACK);                //清屏
                PC_DispStr(x,y,\"helloworld!!\",DISP_FGND_WHITEDISP_BGND_REDDISP_BLINK);//循环显示字符串
                x=(x1)%(80-12);
                y=(y1)%(25-1);
                if(PC_GetKey(
                        }
                }
                OSCtxSwCtr=0;
                OSTimeDlyHMSM(0,0,0,350);
        }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行