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

📄 hyper104c.c

📁 这是一个uC/OS-II For cs8900的移植项目源代码.可以在uCOSV252.exe上运行
💻 C
字号:
/*

*********************************************************************************************************

*                                                uC/OS-II

*                                          The Real-Time Kernel

*

*                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL

*                                           All Rights Reserved

*

*                                                 V2.51

*

*                                               EXAMPLE #1

*********************************************************************************************************

*/

#include "main.h"
//#include "scc.h"
#include "includes.h"
#include "serial.h"

/*

*********************************************************************************************************

*                                               CONSTANTS

*********************************************************************************************************

*/



#define  TASK_STK_SIZE                 512       /* Size of each task's stacks (# of WORDs)            */

#define  N_TASKS                       3         /* Number of identical tasks                          */


/*

*********************************************************************************************************

*                                               VARIABLES

*********************************************************************************************************

*/



OS_STK		TaskStk[N_TASKS][TASK_STK_SIZE];     /* Tasks stacks                                  */

OS_STK		TaskStartStk[TASK_STK_SIZE];

/*

*********************************************************************************************************

*                                           FUNCTION PROTOTYPES

*********************************************************************************************************

*/



void   	Task1(void *data);                             /* Function prototypes of tasks                  */

void   	Task2(void *data);                             /* Function prototypes of tasks                  */

void   	Task3(void *data);

void   	TaskStart(void *data);                         /* Function prototypes of Startup task           */

void   	BeforeMain	(void);

void   	C_Entry		(void);
void	CMain				(void);
bool	DoPrintHelp			(int argc, char **argv);

// 傈开函荐.
LOADER_STATUS	status;

/*$PAGE*/

/*

*********************************************************************************************************

*                                                MAIN

*********************************************************************************************************

*/


/*$PAGE*/

/*

*********************************************************************************************************

*                                              STARTUP TASK

*********************************************************************************************************

*/

void TaskStart (void *data)

{


	OSTimer0_Period_Setting();


	OSTimer0_Interrupt_Setting();			/* Timer Enable					          */


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


	printf("\rTask...!!\n");

	OSTaskCreate(Task1,"Task1",&TaskStk[0][TASK_STK_SIZE - 1],1);



	OSTaskCreate(Task2,"Task2",&TaskStk[1][TASK_STK_SIZE - 1],2);


	for (;;) {

		printf("\n\rRunning Task : %5d\n", OSTaskCtr);     /* Display #tasks running                  */

		printf("\n\rCpu Usage : %3d\n", OSCPUUsage);       /* Display CPU usage in %                  */

		printf("\n\rContext Switches per Sec : %5d\n\r",(int)OSCtxSwCtr);  

		
		OSCtxSwCtr = 0;

		OSTimeDlyHMSM(0, 0, 1, 0);                         /* Wait one second                         */


	}

}

/*$PAGE*/

/*

*********************************************************************************************************

*                                                  TASKS

*********************************************************************************************************

*/



void Task1(void *data)

{

	for (;;) {

		printf("%s",(char *)data);

        	OSTimeDly(5);                            

	}

}



void Task2(void *data)

{

        for (;;) {

		printf("%s",(char *)data);

		OSTimeDly(2);     

        } 

}
void Task3(void *data)

{

    for (;;) {

		printf("%s",(char *)data);

		OSTimeDly(4);     

    }

}

void C_Entry(void)

{



	OSInit();                                              /* Initialize uC/OS-II                     */

	OSTaskCreate(TaskStart, (void *)0,&TaskStartStk[TASK_STK_SIZE - 1], 0);


	printf("\rOSTaskCreate...\n");


	OSStart();                                             /* Start multitasking                      */


	printf("\rOSStart...\n");

}


⌨️ 快捷键说明

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