001a:
今天公開我的之前寫的仿UCOS(只有多任務(wù)切換的功能,是我發(fā)的第一個貼的程序的升級版),任務(wù)建立的多少跟ram的空間大小有關(guān),平臺MCU:NEC公司的(現(xiàn)在為瑞薩公司)k0s系列9234,開發(fā)環(huán)境PM+。任務(wù)調(diào)用程序一覽:voidtask1(void);//任務(wù)1函數(shù)聲明voidtask2(void);/任務(wù)2函數(shù)聲明voidtask3(void);/任務(wù)3函數(shù)聲明unsignedchartask1_stask[30],task2_stask[30],task3_stask[30];//任務(wù)堆棧用到的數(shù)據(jù)空間voiddelay(unsignedinti){while(i--);}unsignedintii1,ii2;unsignedchara1;intj;voidmain(void){/*TODO.addusercode*/staticunsignedintj,i;ii1=0;ii2=0;PM3.3=0;PM3.2=0;PM4.2=0;//inti_task_sp();#asmmova,#0fehmovx,#0ffhmovwsp,ax#endasm//初始化SP指針cread_task(task1,task1_stask);cread_task(task2,task2_stask);cread_task(task3,task3_stask);//建立三個任務(wù)TM80_Start();//開始任務(wù)調(diào)度while(1);}voidtask1(void)//任務(wù)1內(nèi)容{staticunsignedinti;i=1;stask_:while(1){//ii2++;//i=50000;P3.2=~P3.2;delay(20000);//while(i--);}ii2++;ii2++;ii2++;gotostask_;}voidtask2(void)//任務(wù)2內(nèi)容{main_:while(1){//ii1++;//j=300;P3.3=~P3.3;delay(1000);//while(j--);//j=10000;//while(j--);//i=10000;//while(i--);//i=10000;//while(i--);}//ii1++;//ii1++;//ii1++;gotomain_;}voidtask3(void)//任務(wù)3內(nèi)容{main_:while(1){//ii1++;//j=300;P4.2=~P4.2;delay(4000);//while(j--);//j=10000;//while(j--);//i=10000;//while(i--);//i=10000;//while(i--);}//ii1++;//ii1++;//ii1++;gotomain_;}caozuoxintong_v3.1.zip