古詩詞大全網 - 成語查詢 - ostaskcreate

ostaskcreate

<! 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);

}