priority.c

来自「很多嵌入式VxWorks的实验程序」· C语言 代码 · 共 77 行

C
77
字号
/******************************************************************/
/****include**************************/
#include "vxWorks.h"
#include "taskLib.h"
#include "logLib.h"
#include "stdio.h"

/**function prototypes******/

void taskOne(void);
void taskTwo(void);
void taskThree(void);


/****gloals****/
#define ITER1 100
#define ITER2 1
#define LONG_TIME 1000000
#define HIGH 100 /*high prioty */
#define MID 101 /**medium prioty****/
#define LOW 102 /***low prioty**/


void sched(void)   /***function to creat the two task*/
{
int taskIdOne,taskIdTwo,taskIdThree;

printf("\n\n\n\n\n");

/*Spawn the three tasks*/
if((taskIdOne=taskSpawn("task1",LOW,0x100,20000,(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0))==ERROR)
	printf("taskSpawn taskOne failed\n");
if((taskIdTwo=taskSpawn("task2",MID,0x100,20000,(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0))==ERROR)
	printf("taskSpawn taskTwo failed\n");
if((taskIdThree=taskSpawn("task3",HIGH,0x100,20000,(FUNCPTR)taskThree,0,0,0,0,0,0,0,0,0,0))==ERROR)
	printf("taskSpawn taskThree failed\n");
}


void taskOne(void)
{
int i,j;
for(i=0;i<ITER1;i++)
	{
	for(j=0;j<ITER2;j++)
		logMsg("taskONe\n",0,0,0,0,0,0);
		for(j=0;j<LONG_TIME;j++);
	}
}


void taskTwo(void)
{
int i,j;
for(i=0;i<ITER1;i++)
	{
	for(j=0;j<ITER2;j++)
		logMsg("taskTwo\n",0,0,0,0,0,0);
		for(j=0;j<LONG_TIME;j++);
	}
}



void taskThree(void)
{
int i,j;
for(i=0;i<ITER1;i++)
	{
	for(j=0;j<ITER2;j++)
		logMsg("taskThree\n",0,0,0,0,0,0);
		for(j=0;j<LONG_TIME;j++);
	}
}


⌨️ 快捷键说明

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