资源简介

ucos2.00 for 51源码,并包含多任务、信号量、邮箱、消息队列、内存分配与回收5个经典实例,基本涵盖了ucos2的功能。程序中包含完整Keil4工程源码,并自带proteus7.7仿真文件,可用keil+proteus联合调试。

资源截图

代码片段和文件信息

//可用keil直接仿真
//可用proteus仿真观察串口输出 ,晶振11.0592M,波特9600
#include “../ucos2/includes.h“
#include
void TaskA(void *yydata) reentrant;
void TaskB(void *yydata) reentrant;

OS_STK TaskStartStkA[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
OS_STK TaskStartStkB[MaxStkSize];
OS_EVENT *myMbox;

static INT8U TaskAMsg=‘A‘TaskBMsg=‘B‘;

void com_init(INT16U baud);
void main(void)
{
    OSInit();
    InitTimer0();  //务必加上
  com_init(9600);
    
    OSTaskCreate(TaskA (void *)0 &TaskStartStkA[0]2);
    OSTaskCreate(TaskB (void *)0 &TaskStartStkB[0]3);
    puts(“There are 2 tasks“);
    myMbox = OSMboxCreate((void *)TaskAMsg);
OSStart();
     
}

void TaskA(void xdata *i)reentrant
{
  INT8U myErr;
   i=i;
   printf(“TaskA begin\n“);
   for(;;)
 {
   // if(O

评论

共有 条评论