s5_rrsched.c
来自「tornado2.2开发」· C语言 代码 · 共 102 行
C
102 行
#include "vxWorks.h"
#include "taskLib.h"
#include "kernelLib.h"
#include "sysLib.h"
#include "logLib.h"
#include "stdio.h"
#define ITER1 100
#define ITER2 10
#define PRIORITY 101
#define TIMESLICE (sysClkRateGet()/60)
#define LONG_TIME (1<<25)
static void taskOne(void)
{
int i,j;
for (i=0;i<ITER1;i++)
{
for (j=0;j<ITER2;j++)
{
logMsg("\n",taskIdSelf(),0,0,0,0,0);
}
for (j=0;j<LONG_TIME;j++)
{}
}
}
static void taskTwo(void)
{
int i,j;
for (i=0;i<ITER1;i++)
{
for (j=0;j<ITER2;j++)
{
logMsg("\n",taskIdSelf(),0,0,0,0,0);
}
for (j=0;j<LONG_TIME;j++)
{}
}
}
static void taskThree(void)
{
int i,j;
for (i=0;i<ITER1;i++)
{
for (j=0;j<ITER2;j++)
{
logMsg("\n",taskIdSelf(),0,0,0,0,0);
}
for (j=0;j<LONG_TIME;j++)
{}
}
}
static void taskFour(void)
{
int i,j;
for (i=0;i<ITER1;i++)
{
for (j=0;j<ITER2;j++)
{
logMsg("\n",taskIdSelf(),0,0,0,0,0);
}
for (j=0;j<LONG_TIME;j++)
{}
}
}
void s5_rrsched(void)
{
int taskIdOne,taskIdTwo,taskIdThree,taskIdFour;
if (kernelTimeSlice(TIMESLICE)==OK)
{
logMsg("\n\n\n\n\t\t\tTIMESLICE = %d ticks\n\n\n",
TIMESLICE,0,0,0,0,0);
}
taskDelay(sysClkRateGet()*2);
if ((taskIdOne = taskSpawn("t1",PRIORITY,0x100,20000,
(FUNCPTR)taskOne,0,0,0,0,0,0,0,0,0,0))==ERROR)
{
logMsg("taskSpawn taskOne failed.\n",0,0,0,0,0,0);
}
if ((taskIdTwo= taskSpawn("t2",PRIORITY,0x100,20000,
(FUNCPTR)taskTwo,0,0,0,0,0,0,0,0,0,0))==ERROR)
{
logMsg("taskSpawn taskOne failed.\n",0,0,0,0,0,0);
}
if ((taskIdThree = taskSpawn("t3",PRIORITY,0x100,20000,
(FUNCPTR)taskThree,0,0,0,0,0,0,0,0,0,0))==ERROR)
{
logMsg("taskSpawn taskThree failed.\n",0,0,0,0,0,0);
}
if ((taskIdFour = taskSpawn("t4",80,0x100,20000,
(FUNCPTR)taskFour,0,0,0,0,0,0,0,0,0,0))==ERROR)
{
logMsg("taskSpawn taskFour failed.\n",0,0,0,0,0,0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?