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

📄 ex1.c

📁 瑞泰创新的GX-ARM9-2410EP教学实验系统的所有基础实验源代码,内容齐全,解析清楚,基本上每个实验结果都有图片显示
💻 C
字号:
/**************************************************************************
*                                                                         *
*   PROJECT     : ARM port for UCOS-II                                    *
*                                                                         *
*   MODULE      : EX1.c                                                   *
*                                                                         *
*   AUTHOR      : Michael Anburaj                                         *
*                 URL  : http://geocities.com/michaelanburaj/             *
*                 EMAIL: michaelanburaj@hotmail.com                       *
*                                                                         *
*   PROCESSOR   : Any processor                                           *
*                                                                         *
*   IDE         : Any IDE                                                 *
*                                                                         *
*   DESCRIPTION :                                                         *
*   This is a sample code to test UCOS-II.                                *
*                                                                         *
**************************************************************************/


#include "includes.h"
#include "consol.h"
#include "test.h"


/* ********************************************************************* */
/* Global definitions */


/* ********************************************************************* */
/* File local definitions */

#define  TASK_STK_SIZE 256                      /* Size of each task's stacks (# of WORDs) */
#define  NO_TASKS           10                   /* Number of identical tasks */

OS_STK   TaskStartStk[TASK_STK_SIZE];


/* ********************************************************************* */
/* Local functions */

char ShowMenu()
{
	char ret;
	CONSOL_Printf("\n\n\n---测试任务菜单---\n");
	CONSOL_Printf("[1]     多任务\n");
	CONSOL_Printf("[2]     邮箱的使用\n");
	CONSOL_Printf("请选择:");
	ret = CONSOL_GetCh();
	CONSOL_Printf("\n\n");
	return ret;
}

void Run()
{
	while(1)
	{
		switch(ShowMenu())
		{
		case '1':
			RunTestMultitask();
			break;
		case '2':
			RunTestMbox();
			break;
		default:
			CONSOL_Printf("选择无效。\n");
			break;
		}
	}
}

void TaskStart (void *data)
{
        data = data;                            /* Prevent compiler warning */

        CONSOL_Printf("uC/OS-II, The Real-Time Kernel ARM Ported version\n");

        OSStatInit();                           /* Initialize uC/OS-II's statistics */
        
        Run();

        while(1)
        {
                OSTimeDly(1000);      /* Wait one second */
        }
}


/* ********************************************************************* */
/* Global functions */

void APP_vMain (void)
{
        OSInit();                               /* Initialize uC/OS-II                                      */
        OSTaskCreate(TaskStart, (void *)0, (void *)&TaskStartStk[TASK_STK_SIZE - 1], 0);
        FRMWRK_vStartTicker(OS_TICKS_PER_SEC);  /* os_cfg.h */
        OSStart();                              /* Start multitasking                                       */
}


/* ********************************************************************* */

⌨️ 快捷键说明

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