找回密码
 快速注册

QQ登录

只需一步,快速开始

查看: 1812|回复: 2

最近移植的UCOS,貌似只能运行三任务

[复制链接]
gmszone 发表于 2011-4-25 23:23:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?快速注册

×
本帖最后由 gmszone 于 2011-4-26 00:15 编辑

  1.     #include "includes.h"
复制代码
#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灯。。闪人。。。继续研究去。。
眼镜蛇 发表于 2011-4-25 23:27:07 | 显示全部楼层
膜拜C语言大神
回复

使用道具 举报

 楼主| gmszone 发表于 2011-4-25 23:31:02 | 显示全部楼层
回复 眼镜蛇 的帖子

额,这只是主函数部分。。。其它的没有传上来。大一的飘过
回复

使用道具 举报

快速回复 返回顶部 返回列表