|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?快速注册
×
本帖最后由 gmszone 于 2011-4-26 00:15 编辑
#include "includes.h"
#define TRUE 1
#define FALSE 0
#define LED_PORT P0
#define KEY_PORT P1
#define KEY_TEMP 0xf0
#define TASK_STK_SIZE 32
BYTE i,j,k;
BYTE times=0;
const BYTE code LedMap[]={
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f,
0x7e,0x7d,0x7b,0x77};
const BYTE code KeyMap[]={
0xf6,0xf5,0xf3};
OS_STK TaskStartStk[TASK_STK_SIZE];
OS_STK TaskKeyboardStk[TASK_STK_SIZE];
OS_STK TaskLedStk[TASK_STK_SIZE];
void TaskStart(void *ppdata);
void TaskKey(void *ppdata);
void TaskLed(void *ppdata);
void TaskStart(void *ppdata){
ppdata=ppdata;
for(;;){
LED_PORT=0xfe;
OSTaskCreate(TaskLed,(void *)0,&TaskLedStk[TASK_STK_SIZE-1],1);
OSTaskCreate(TaskKey,(void *)0,&TaskKeyboardStk[TASK_STK_SIZE-1],2);
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void TaskLed(void *ppdata){
ppdata=ppdata;
for(;;){
LED_PORT=0xfd;
OSTimeDlyHMSM(0,0,2,0);
}
}
void TaskKey(void *ppdata){
ppdata=ppdata;
for(;;){
LED_PORT=0xfb;
OSTimeDlyHMSM(0,0,3,0);
}
}
void main(void){
OSInit();
InitHardware();
OSTaskCreate(TaskStart,(void *)0,&TaskStartStk[TASK_STK_SIZE-1],0);
OSStart();
}
贴上代码,每个任务控制一个LED灯。。闪人。。。继续研究去。。
|
|