估計這是壹個嵌入式多任務操作系統的程序
以上代碼大部分調用操作系統的函數(可能在 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);
}