⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 ucosv2.85版本移植s3c44b0x
💻 C
字号:
/*
 * File:        main.c
 *
 * uC/OS Real-time multitasking kernel for the ARM processor.
 *
 *
 * Created by XuWei
 *
 */
#include	"ucos_ii.h"               /* uC/OS interface */
#include	"../inc/44blib.h"
#include	"../inc/44b.h"
#include	"../inc/option.h"
#include	"../inc/target.h"
#include "string.h"


#define	STACKSIZE_H  2048
#define STACKSIZE_L  512

OS_STK Task_0[STACKSIZE_L] = {0, };
OS_STK Task_1[STACKSIZE_L] = {0, };
OS_STK Task_2[STACKSIZE_L] = {0, };
OS_STK Task_3[STACKSIZE_L] = {0, };


void Task1(void *id)
{
	
	while(1)
	{
	
		OS_ENTER_CRITICAL();
		Uart_Printf("task 1 is working.\n\n");
		OS_EXIT_CRITICAL();
		
		OSTimeDly(200);
	}
}

void Task2(void *id)
{
	
	while(1)
	{
	
		OS_ENTER_CRITICAL();
		Uart_Printf("task 2 is working.\n\n");
		OS_EXIT_CRITICAL();
		
		OSTimeDly(300);
	}
}


void Task3(void *id)
{
	
	while(1)
	{
	
		OS_ENTER_CRITICAL();
		Uart_Printf("task 3 is working.\n\n");
		OS_EXIT_CRITICAL();
		
		OSTimeDly(400);
	}
}


void Task_start(void *id)
{	//OSStatInit();
	
	OSTaskCreate(Task1,     (void *)0, (OS_STK *)&Task_1[STACKSIZE_L - 1], 2);
	OSTaskCreate(Task2,     (void *)0, (OS_STK *)&Task_2[STACKSIZE_L - 1], 3);
	OSTaskCreate(Task3,     (void *)0, (OS_STK *)&Task_3[STACKSIZE_L - 1], 4);
	
	ARMStartTimer();
	for(;;)
	{
	    OSTaskDel(OS_PRIO_SELF);  //删除自己
	}
}


void Main(void)
{      
    ARMTargetInit();
	OSInit();
	
	ARMTargetStart();  //Start the  system running
	
	OSTaskCreate(Task_start,(void *)0, (OS_STK *)&Task_0[STACKSIZE_L - 1], 1);
	
	OSStart();         //start the system
    /* never reached */
}

⌨️ 快捷键说明

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