?? caozuo.c
字號:
#include<rtx51tny.h>
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit light0=P0^0;
sbit light1=P0^1;
sbit light2=P0^2;
sbit switch0=P1^0;
int counter0;
int counter1;
void delay(uint k)
{uchar idata j;
unsigned int i;
for(i=0;i<k;i++)
for(j=0;j<255;j++);
}
void job0 (void)_task_ 0
{ os_create_task(1);
os_create_task(2);
while(1)
{ counter0++;
light0=0;
if(switch0==1)
os_send_signal(2);//如果按下,就向任務2發送信號
os_wait(K_TMO,100,0);//向內核發出讓出處理器的信號,將任務掛起。(處理器這時處理其他
//任務了)參數1000是延時的tick數。到延時結束后任務就返回到處于
//就緒的狀態并可被內核調度執行了。
light2=0;
}
}
void job1 (void) _task_ 1
{ while(1)
{ counter1++;
light0=1;
os_wait(K_TMO,100,0);
}
}
void job2 (void)_task_ 2
{os_create_task(1);
while(1)
{ os_wait(K_SIG,0,0);//受到信號,該任務由掛起狀態就緒的狀態并可被內核調度執行。
counter0++;
light1=0;
delay(100);
light1=1;
delay(100);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -