main.c

来自「51单片机web的ucosii」· C语言 代码 · 共 75 行

C
75
字号
#include    <CORE\includes.h>
#include "serial.h"
#include <LCD\LCD.h>


#define GLOBAL_DEFINE
#include <global_para.h>

sbit   LED_RED  = P3 ^ 3;	
sbit   LED_GRE  = P3 ^ 4; 

void TASK_1(void *yydata) reentrant;
void TASK_2(void *yydata) reentrant;
void TASK_3(void *yydata) reentrant;

OS_STK TASK_1_Stk[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
OS_STK TASK_2_Stk[MaxStkSize];
OS_STK TASK_3_Stk[MaxStkSize];


void main(void)
{ 
//   LCD_Initial();

//   LCD_print("MCU-WEB");
//--------------------------------------------
    OSInit();
    InitSerial_0();

//Uart0_print("TcpIp_Init\n");
//   LCD_print("main start\n");
Uart0_print("main start\n");


//	Sem_RecPackage=OSSemCreate(0);
//	Sem_ProcessPackage=OSSemCreate(0);
	//EX0=1; //int0, 
    OSTaskCreate(TASK_1, (void *)0, &TASK_1_Stk[0],2);
    OSTaskCreate(TASK_2, (void *)0, &TASK_2_Stk[0],3);
    OSTaskCreate(TASK_3, (void *)0, &TASK_3_Stk[0],4);
    InitTimer0();
    OSStart();
}

void TASK_1(void *yydata) reentrant
{
    yydata=yydata;


    for(;;){
        Uart0_print("task_1 is active.\n");
        OSTimeDly(OS_TICKS_PER_SEC);
    }
}

void TASK_2(void *yydata) reentrant
{
    yydata=yydata;

    for(;;){
        Uart0_print("task_2 is active.\n");
        OSTimeDly(3*OS_TICKS_PER_SEC);
    }
}

void TASK_3(void *yydata) reentrant
{
    yydata=yydata;

    for(;;){
        Uart0_print("task_3 is active.\n");
        OSTimeDly(6*OS_TICKS_PER_SEC);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?