请求高人帮忙解读C程序,一个据说很简单的HELLOWORLD。请尽量详细,最好每一行都注释哦~先谢啦~
<! l路过,挑战了一下想象力 !>
估计这是一个嵌入式多任务操作系统的程序
以上代码大部分调用操作系统的函数(可能在 includes.h 中声明)
例如:PC_DispClrScr() 清屏(字面理解)
OSInit() 预置操作系统(字面理解)
PC_VectSet() 设置指针(字面理解)
OSTaskCreate() 创建任务 (字面理解)
.....
没有这些函数的具体语法和参数说明,是很难靠想象为你解释每一句的实际意义。
#include "includes.h"
#define TASK_STK_SIZE 512
OS_STK Task_1_stk[TASK_STK_SIZE];
void Task(void *data);
void main(void)
{
PC_DispClrScr(DISP_FGND_WHITE+DISP_BGND_BLACK); //清屏
OSInit(); //预置系统
PC_DOSSaveReturn();
PC_VectSet(uCOS,OSCtxSw); //设置指针
OSTaskCreate(Task,(void *)0, &Task_1_stk[TASK_STK_SIZE-1],0); //创建任务
OSStart(); //系统运作
}
void Task(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_WHITE+DISP_BGND_BLACK); //清屏
PC_DispStr(x,y,"helloworld!!",DISP_FGND_WHITE+DISP_BGND_RED+DISP_BLINK);//循环显示字符串
x=(x+1)%(80-12);
y=(y+1)%(25-1);
if(PC_GetKey(&key)==TRUE){
if(key==0x1B){ //直到按了“Esc”键,控制权交回系统
PC_DOSReturn();
}
}
OSCtxSwCtr=0;
OSTimeDlyHMSM(0,0,0,350);
}